{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The autoreload extension is already loaded. To reload it, use:\n",
      "  %reload_ext autoreload\n"
     ]
    }
   ],
   "source": [
    "from pathlib import Path\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import yaml\n",
    "import json\n",
    "\n",
    "from ms_pred import common\n",
    "from ms_pred.common import plot_utils\n",
    "from ms_pred.common.plot_utils import *\n",
    "import copy\n",
    "\n",
    "from collections import defaultdict\n",
    "from scipy.stats import sem\n",
    "\n",
    "set_style()\n",
    "\n",
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_names = [\"nist20\", \"canopus_train_public\"]\n",
    "# results_folder = Path(\"../results/figs/\")\n",
    "results_folder = Path(\"../results/figs_scarf/retrieval\")\n",
    "results_folder.mkdir(parents=True, exist_ok=True)\n",
    "label_files = [f\"../data/spec_datasets/{i}/labels.tsv\" for i in dataset_names]\n",
    "spec_to_smiles = {\n",
    "    j[0]: j[1]\n",
    "    for i in label_files\n",
    "    for j in pd.read_csv(i, sep=\"\\t\")[[\"spec\", \"smiles\"]].values\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "names = [\n",
    "    \"Random\",\n",
    "    \"3DMolMS\",\n",
    "    \"FixedVocab\",\n",
    "    \"NEIMS (FFN)\",\n",
    "    \"NEIMS (GNN)\",\n",
    "    \"SCARF\",\n",
    "]\n",
    "\n",
    "dataset_to_res = {}\n",
    "for dataset_name in dataset_names:\n",
    "    yaml_files = defaultdict(lambda : [])\n",
    "    for seed in [1,2,3]:    \n",
    "        results_files = [\n",
    "            f\"../results/dag_inten_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_random.yaml\",\n",
    "            f\"../results/molnetms_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "            f\"../results/graff_ms_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "            f\"../results/ffn_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "            f\"../results/gnn_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "            f\"../results/scarf_inten_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "            # f\"../results/dag_inten_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_50/rerank_eval_cos.yaml\",\n",
    "        ]\n",
    "\n",
    "\n",
    "        for i, j in zip(names, results_files):\n",
    "            yaml_files[i].append(yaml.safe_load(open(j, \"r\")))\n",
    "    dataset_to_res[dataset_name] = yaml_files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "out_df = []\n",
    "keys_to_name = {f\"avg_top_{i}\": i for i in range(1, 11)}\n",
    "\n",
    "for dataset, yaml_files in dataset_to_res.items():\n",
    "    for k, v in yaml_files.items():\n",
    "        for old_name, new_name in keys_to_name.items():\n",
    "            new_entry = {\n",
    "                \"Method\": k,\n",
    "                \"Top k\": new_name,\n",
    "                \"Acc\": np.mean([vv[old_name] for vv in v]),\n",
    "                \"Acc sem\": sem([vv[old_name] for vv in v]),\n",
    "                \"Dataset\": dataset,\n",
    "            }\n",
    "            out_df.append(new_entry)\n",
    "out_df = pd.DataFrame(out_df)\n",
    "out_df['Acc_orig'] = out_df['Acc']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "out_df[\"Acc\"] = [\n",
    "    rf\"${i:.3f} \\pm {j:.3f}$\"\n",
    "    for i, j in zip(out_df[\"Acc_orig\"], out_df[\"Acc sem\"])\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Method</th>\n",
       "      <th>Top k</th>\n",
       "      <th>Acc</th>\n",
       "      <th>Acc sem</th>\n",
       "      <th>Dataset</th>\n",
       "      <th>Acc_orig</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Random</td>\n",
       "      <td>1</td>\n",
       "      <td>$0.026 \\pm 0.000$</td>\n",
       "      <td>0.000376</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.026061</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Random</td>\n",
       "      <td>2</td>\n",
       "      <td>$0.052 \\pm 0.001$</td>\n",
       "      <td>0.000753</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.052122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Random</td>\n",
       "      <td>3</td>\n",
       "      <td>$0.076 \\pm 0.001$</td>\n",
       "      <td>0.001069</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.076207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Random</td>\n",
       "      <td>4</td>\n",
       "      <td>$0.098 \\pm 0.001$</td>\n",
       "      <td>0.000617</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.098128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Random</td>\n",
       "      <td>5</td>\n",
       "      <td>$0.120 \\pm 0.000$</td>\n",
       "      <td>0.000431</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.119673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>6</td>\n",
       "      <td>$0.489 \\pm 0.003$</td>\n",
       "      <td>0.003205</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.488782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>7</td>\n",
       "      <td>$0.530 \\pm 0.003$</td>\n",
       "      <td>0.002794</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.530449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>8</td>\n",
       "      <td>$0.569 \\pm 0.001$</td>\n",
       "      <td>0.001282</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.568590</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>9</td>\n",
       "      <td>$0.600 \\pm 0.005$</td>\n",
       "      <td>0.004976</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.600321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>119</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>10</td>\n",
       "      <td>$0.630 \\pm 0.008$</td>\n",
       "      <td>0.007871</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.629808</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>120 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Method  Top k                Acc   Acc sem               Dataset  \\\n",
       "0    Random      1  $0.026 \\pm 0.000$  0.000376                nist20   \n",
       "1    Random      2  $0.052 \\pm 0.001$  0.000753                nist20   \n",
       "2    Random      3  $0.076 \\pm 0.001$  0.001069                nist20   \n",
       "3    Random      4  $0.098 \\pm 0.001$  0.000617                nist20   \n",
       "4    Random      5  $0.120 \\pm 0.000$  0.000431                nist20   \n",
       "..      ...    ...                ...       ...                   ...   \n",
       "115   SCARF      6  $0.489 \\pm 0.003$  0.003205  canopus_train_public   \n",
       "116   SCARF      7  $0.530 \\pm 0.003$  0.002794  canopus_train_public   \n",
       "117   SCARF      8  $0.569 \\pm 0.001$  0.001282  canopus_train_public   \n",
       "118   SCARF      9  $0.600 \\pm 0.005$  0.004976  canopus_train_public   \n",
       "119   SCARF     10  $0.630 \\pm 0.008$  0.007871  canopus_train_public   \n",
       "\n",
       "     Acc_orig  \n",
       "0    0.026061  \n",
       "1    0.052122  \n",
       "2    0.076207  \n",
       "3    0.098128  \n",
       "4    0.119673  \n",
       "..        ...  \n",
       "115  0.488782  \n",
       "116  0.530449  \n",
       "117  0.568590  \n",
       "118  0.600321  \n",
       "119  0.629808  \n",
       "\n",
       "[120 rows x 6 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "out_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Top k</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>8</th>\n",
       "      <th>10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Random</th>\n",
       "      <td>$0.026 \\pm 0.000$</td>\n",
       "      <td>$0.052 \\pm 0.001$</td>\n",
       "      <td>$0.076 \\pm 0.001$</td>\n",
       "      <td>$0.098 \\pm 0.001$</td>\n",
       "      <td>$0.120 \\pm 0.000$</td>\n",
       "      <td>$0.189 \\pm 0.001$</td>\n",
       "      <td>$0.233 \\pm 0.002$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3DMolMS</th>\n",
       "      <td>$0.055 \\pm 0.002$</td>\n",
       "      <td>$0.105 \\pm 0.000$</td>\n",
       "      <td>$0.146 \\pm 0.002$</td>\n",
       "      <td>$0.185 \\pm 0.004$</td>\n",
       "      <td>$0.225 \\pm 0.004$</td>\n",
       "      <td>$0.332 \\pm 0.003$</td>\n",
       "      <td>$0.394 \\pm 0.004$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FixedVocab</th>\n",
       "      <td>$0.172 \\pm 0.002$</td>\n",
       "      <td>$0.304 \\pm 0.002$</td>\n",
       "      <td>$0.399 \\pm 0.001$</td>\n",
       "      <td>$0.466 \\pm 0.004$</td>\n",
       "      <td>$0.522 \\pm 0.006$</td>\n",
       "      <td>$0.638 \\pm 0.005$</td>\n",
       "      <td>$0.688 \\pm 0.003$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (FFN)</th>\n",
       "      <td>$0.105 \\pm 0.002$</td>\n",
       "      <td>$0.243 \\pm 0.006$</td>\n",
       "      <td>$0.324 \\pm 0.006$</td>\n",
       "      <td>$0.387 \\pm 0.006$</td>\n",
       "      <td>$0.440 \\pm 0.007$</td>\n",
       "      <td>$0.549 \\pm 0.005$</td>\n",
       "      <td>$0.607 \\pm 0.002$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (GNN)</th>\n",
       "      <td>$0.175 \\pm 0.003$</td>\n",
       "      <td>$0.305 \\pm 0.001$</td>\n",
       "      <td>$0.398 \\pm 0.001$</td>\n",
       "      <td>$0.462 \\pm 0.002$</td>\n",
       "      <td>$0.515 \\pm 0.003$</td>\n",
       "      <td>$0.632 \\pm 0.003$</td>\n",
       "      <td>$0.687 \\pm 0.003$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCARF</th>\n",
       "      <td>$0.187 \\pm 0.004$</td>\n",
       "      <td>$0.321 \\pm 0.006$</td>\n",
       "      <td>$0.417 \\pm 0.004$</td>\n",
       "      <td>$0.486 \\pm 0.004$</td>\n",
       "      <td>$0.541 \\pm 0.005$</td>\n",
       "      <td>$0.652 \\pm 0.004$</td>\n",
       "      <td>$0.708 \\pm 0.005$</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Top k                       1                  2                  3   \\\n",
       "Random       $0.026 \\pm 0.000$  $0.052 \\pm 0.001$  $0.076 \\pm 0.001$   \n",
       "3DMolMS      $0.055 \\pm 0.002$  $0.105 \\pm 0.000$  $0.146 \\pm 0.002$   \n",
       "FixedVocab   $0.172 \\pm 0.002$  $0.304 \\pm 0.002$  $0.399 \\pm 0.001$   \n",
       "NEIMS (FFN)  $0.105 \\pm 0.002$  $0.243 \\pm 0.006$  $0.324 \\pm 0.006$   \n",
       "NEIMS (GNN)  $0.175 \\pm 0.003$  $0.305 \\pm 0.001$  $0.398 \\pm 0.001$   \n",
       "SCARF        $0.187 \\pm 0.004$  $0.321 \\pm 0.006$  $0.417 \\pm 0.004$   \n",
       "\n",
       "Top k                       4                  5                  8   \\\n",
       "Random       $0.098 \\pm 0.001$  $0.120 \\pm 0.000$  $0.189 \\pm 0.001$   \n",
       "3DMolMS      $0.185 \\pm 0.004$  $0.225 \\pm 0.004$  $0.332 \\pm 0.003$   \n",
       "FixedVocab   $0.466 \\pm 0.004$  $0.522 \\pm 0.006$  $0.638 \\pm 0.005$   \n",
       "NEIMS (FFN)  $0.387 \\pm 0.006$  $0.440 \\pm 0.007$  $0.549 \\pm 0.005$   \n",
       "NEIMS (GNN)  $0.462 \\pm 0.002$  $0.515 \\pm 0.003$  $0.632 \\pm 0.003$   \n",
       "SCARF        $0.486 \\pm 0.004$  $0.541 \\pm 0.005$  $0.652 \\pm 0.004$   \n",
       "\n",
       "Top k                       10  \n",
       "Random       $0.233 \\pm 0.002$  \n",
       "3DMolMS      $0.394 \\pm 0.004$  \n",
       "FixedVocab   $0.688 \\pm 0.003$  \n",
       "NEIMS (FFN)  $0.607 \\pm 0.002$  \n",
       "NEIMS (GNN)  $0.687 \\pm 0.003$  \n",
       "SCARF        $0.708 \\pm 0.005$  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\begin{table}\n",
      "\\centering\n",
      "\\caption{nist20 spectra prediction retrieval accuracy}\n",
      "\\label{tab:nist20_spec_retrieval}\n",
      "\\begin{tabular}{llllllll}\n",
      "\\toprule\n",
      "Top k &                 1  &                 2  &                 3  &                 4  &                 5  &                 8  &                 10 \\\\\n",
      "\\midrule\n",
      "Random      &  $0.026 \\pm 0.000$ &  $0.052 \\pm 0.001$ &  $0.076 \\pm 0.001$ &  $0.098 \\pm 0.001$ &  $0.120 \\pm 0.000$ &  $0.189 \\pm 0.001$ &  $0.233 \\pm 0.002$ \\\\\n",
      "3DMolMS     &  $0.055 \\pm 0.002$ &  $0.105 \\pm 0.000$ &  $0.146 \\pm 0.002$ &  $0.185 \\pm 0.004$ &  $0.225 \\pm 0.004$ &  $0.332 \\pm 0.003$ &  $0.394 \\pm 0.004$ \\\\\n",
      "FixedVocab  &  $0.172 \\pm 0.002$ &  $0.304 \\pm 0.002$ &  $0.399 \\pm 0.001$ &  $0.466 \\pm 0.004$ &  $0.522 \\pm 0.006$ &  $0.638 \\pm 0.005$ &  $0.688 \\pm 0.003$ \\\\\n",
      "NEIMS (FFN) &  $0.105 \\pm 0.002$ &  $0.243 \\pm 0.006$ &  $0.324 \\pm 0.006$ &  $0.387 \\pm 0.006$ &  $0.440 \\pm 0.007$ &  $0.549 \\pm 0.005$ &  $0.607 \\pm 0.002$ \\\\\n",
      "NEIMS (GNN) &  $0.175 \\pm 0.003$ &  $0.305 \\pm 0.001$ &  $0.398 \\pm 0.001$ &  $0.462 \\pm 0.002$ &  $0.515 \\pm 0.003$ &  $0.632 \\pm 0.003$ &  $0.687 \\pm 0.003$ \\\\\n",
      "SCARF       &  $0.187 \\pm 0.004$ &  $0.321 \\pm 0.006$ &  $0.417 \\pm 0.004$ &  $0.486 \\pm 0.004$ &  $0.541 \\pm 0.005$ &  $0.652 \\pm 0.004$ &  $0.708 \\pm 0.005$ \\\\\n",
      "\\bottomrule\n",
      "\\end{tabular}\n",
      "\\end{table}\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/3006165229.py:26: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.\n",
      "  latex = pivoted_tbl.to_latex(\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Top k</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>8</th>\n",
       "      <th>10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Random</th>\n",
       "      <td>$0.033 \\pm 0.001$</td>\n",
       "      <td>$0.061 \\pm 0.005$</td>\n",
       "      <td>$0.092 \\pm 0.003$</td>\n",
       "      <td>$0.118 \\pm 0.003$</td>\n",
       "      <td>$0.141 \\pm 0.006$</td>\n",
       "      <td>$0.216 \\pm 0.006$</td>\n",
       "      <td>$0.258 \\pm 0.006$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3DMolMS</th>\n",
       "      <td>$0.087 \\pm 0.001$</td>\n",
       "      <td>$0.159 \\pm 0.010$</td>\n",
       "      <td>$0.218 \\pm 0.004$</td>\n",
       "      <td>$0.268 \\pm 0.006$</td>\n",
       "      <td>$0.317 \\pm 0.006$</td>\n",
       "      <td>$0.427 \\pm 0.008$</td>\n",
       "      <td>$0.488 \\pm 0.005$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FixedVocab</th>\n",
       "      <td>$0.193 \\pm 0.003$</td>\n",
       "      <td>$0.314 \\pm 0.004$</td>\n",
       "      <td>$0.390 \\pm 0.003$</td>\n",
       "      <td>$0.448 \\pm 0.005$</td>\n",
       "      <td>$0.492 \\pm 0.001$</td>\n",
       "      <td>$0.587 \\pm 0.005$</td>\n",
       "      <td>$0.635 \\pm 0.006$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (FFN)</th>\n",
       "      <td>$0.195 \\pm 0.003$</td>\n",
       "      <td>$0.313 \\pm 0.002$</td>\n",
       "      <td>$0.388 \\pm 0.003$</td>\n",
       "      <td>$0.447 \\pm 0.006$</td>\n",
       "      <td>$0.488 \\pm 0.002$</td>\n",
       "      <td>$0.585 \\pm 0.007$</td>\n",
       "      <td>$0.624 \\pm 0.010$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (GNN)</th>\n",
       "      <td>$0.174 \\pm 0.007$</td>\n",
       "      <td>$0.285 \\pm 0.004$</td>\n",
       "      <td>$0.362 \\pm 0.002$</td>\n",
       "      <td>$0.422 \\pm 0.001$</td>\n",
       "      <td>$0.471 \\pm 0.002$</td>\n",
       "      <td>$0.586 \\pm 0.007$</td>\n",
       "      <td>$0.640 \\pm 0.005$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCARF</th>\n",
       "      <td>$0.135 \\pm 0.007$</td>\n",
       "      <td>$0.242 \\pm 0.001$</td>\n",
       "      <td>$0.320 \\pm 0.001$</td>\n",
       "      <td>$0.389 \\pm 0.004$</td>\n",
       "      <td>$0.444 \\pm 0.002$</td>\n",
       "      <td>$0.569 \\pm 0.001$</td>\n",
       "      <td>$0.630 \\pm 0.008$</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Top k                       1                  2                  3   \\\n",
       "Random       $0.033 \\pm 0.001$  $0.061 \\pm 0.005$  $0.092 \\pm 0.003$   \n",
       "3DMolMS      $0.087 \\pm 0.001$  $0.159 \\pm 0.010$  $0.218 \\pm 0.004$   \n",
       "FixedVocab   $0.193 \\pm 0.003$  $0.314 \\pm 0.004$  $0.390 \\pm 0.003$   \n",
       "NEIMS (FFN)  $0.195 \\pm 0.003$  $0.313 \\pm 0.002$  $0.388 \\pm 0.003$   \n",
       "NEIMS (GNN)  $0.174 \\pm 0.007$  $0.285 \\pm 0.004$  $0.362 \\pm 0.002$   \n",
       "SCARF        $0.135 \\pm 0.007$  $0.242 \\pm 0.001$  $0.320 \\pm 0.001$   \n",
       "\n",
       "Top k                       4                  5                  8   \\\n",
       "Random       $0.118 \\pm 0.003$  $0.141 \\pm 0.006$  $0.216 \\pm 0.006$   \n",
       "3DMolMS      $0.268 \\pm 0.006$  $0.317 \\pm 0.006$  $0.427 \\pm 0.008$   \n",
       "FixedVocab   $0.448 \\pm 0.005$  $0.492 \\pm 0.001$  $0.587 \\pm 0.005$   \n",
       "NEIMS (FFN)  $0.447 \\pm 0.006$  $0.488 \\pm 0.002$  $0.585 \\pm 0.007$   \n",
       "NEIMS (GNN)  $0.422 \\pm 0.001$  $0.471 \\pm 0.002$  $0.586 \\pm 0.007$   \n",
       "SCARF        $0.389 \\pm 0.004$  $0.444 \\pm 0.002$  $0.569 \\pm 0.001$   \n",
       "\n",
       "Top k                       10  \n",
       "Random       $0.258 \\pm 0.006$  \n",
       "3DMolMS      $0.488 \\pm 0.005$  \n",
       "FixedVocab   $0.635 \\pm 0.006$  \n",
       "NEIMS (FFN)  $0.624 \\pm 0.010$  \n",
       "NEIMS (GNN)  $0.640 \\pm 0.005$  \n",
       "SCARF        $0.630 \\pm 0.008$  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\begin{table}\n",
      "\\centering\n",
      "\\caption{canopus_train_public spectra prediction retrieval accuracy}\n",
      "\\label{tab:canopus_train_public_spec_retrieval}\n",
      "\\begin{tabular}{llllllll}\n",
      "\\toprule\n",
      "Top k &                 1  &                 2  &                 3  &                 4  &                 5  &                 8  &                 10 \\\\\n",
      "\\midrule\n",
      "Random      &  $0.033 \\pm 0.001$ &  $0.061 \\pm 0.005$ &  $0.092 \\pm 0.003$ &  $0.118 \\pm 0.003$ &  $0.141 \\pm 0.006$ &  $0.216 \\pm 0.006$ &  $0.258 \\pm 0.006$ \\\\\n",
      "3DMolMS     &  $0.087 \\pm 0.001$ &  $0.159 \\pm 0.010$ &  $0.218 \\pm 0.004$ &  $0.268 \\pm 0.006$ &  $0.317 \\pm 0.006$ &  $0.427 \\pm 0.008$ &  $0.488 \\pm 0.005$ \\\\\n",
      "FixedVocab  &  $0.193 \\pm 0.003$ &  $0.314 \\pm 0.004$ &  $0.390 \\pm 0.003$ &  $0.448 \\pm 0.005$ &  $0.492 \\pm 0.001$ &  $0.587 \\pm 0.005$ &  $0.635 \\pm 0.006$ \\\\\n",
      "NEIMS (FFN) &  $0.195 \\pm 0.003$ &  $0.313 \\pm 0.002$ &  $0.388 \\pm 0.003$ &  $0.447 \\pm 0.006$ &  $0.488 \\pm 0.002$ &  $0.585 \\pm 0.007$ &  $0.624 \\pm 0.010$ \\\\\n",
      "NEIMS (GNN) &  $0.174 \\pm 0.007$ &  $0.285 \\pm 0.004$ &  $0.362 \\pm 0.002$ &  $0.422 \\pm 0.001$ &  $0.471 \\pm 0.002$ &  $0.586 \\pm 0.007$ &  $0.640 \\pm 0.005$ \\\\\n",
      "SCARF       &  $0.135 \\pm 0.007$ &  $0.242 \\pm 0.001$ &  $0.320 \\pm 0.001$ &  $0.389 \\pm 0.004$ &  $0.444 \\pm 0.002$ &  $0.569 \\pm 0.001$ &  $0.630 \\pm 0.008$ \\\\\n",
      "\\bottomrule\n",
      "\\end{tabular}\n",
      "\\end{table}\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/3006165229.py:26: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.\n",
      "  latex = pivoted_tbl.to_latex(\n"
     ]
    }
   ],
   "source": [
    "temp_names = [\n",
    "    \"Random\",\n",
    "    \"3DMolMS\",\n",
    "    \"FixedVocab\",\n",
    "    \"NEIMS (FFN)\",\n",
    "    \"NEIMS (GNN)\",\n",
    "    \"SCARF\",\n",
    "]\n",
    "for dataset_name in dataset_names:\n",
    "    # Filter out df to specific dataset\n",
    "    df = out_df[out_df[\"Dataset\"] == dataset_name]\n",
    "    pivoted_tbl = df.reset_index().pivot_table(\n",
    "        index=\"Method\", values=\"Acc\", columns=\"Top k\", aggfunc=\"first\"\n",
    "    )\n",
    "\n",
    "    # Keep only \n",
    "    k_vals = [1,2,3,4,5,8,10]\n",
    "    # Subset pivoted_tbl to only these k values\n",
    "    pivoted_tbl = pivoted_tbl[k_vals]\n",
    "\n",
    "    pivoted_tbl = pivoted_tbl.loc[temp_names]\n",
    "    pivoted_tbl.index.name = None\n",
    "    # pivoted_tbl = pivoted_tbl.round(3)\n",
    "\n",
    "    display(pivoted_tbl)\n",
    "    latex = pivoted_tbl.to_latex(\n",
    "        caption=f\"{dataset_name} spectra prediction retrieval accuracy\",\n",
    "        label=f\"tab:{dataset_name}_spec_retrieval\", escape=False\n",
    "    )\n",
    "    print(latex)\n",
    "\n",
    "    # Save this to table\n",
    "    with open(results_folder / f\"tab_{dataset_name}_spec_retrieval.tex\", \"w\") as f:\n",
    "        f.write(latex)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvUAAAJWCAYAAADYynjNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAC4jAAAuIwF4pT92AAEAAElEQVR4nOzdd3hU1dbA4d+Zlt4hCTWhdwSBEHoTAZWidKVKsSAq13sRUZRuQ5TPigiEJh2UDkrvSFGkB5LQW0jvU873R8yYkEwaCUlgvc+TxzBnn332GXBmzZ6111ZUVVURQgghhBBClFiaoh6AEEIIIYQQ4sFIUC+EEEIIIUQJJ0G9EEIIIYQQJZwE9UIIIYQQQpRwEtQLIYQQQghRwklQL4QQQgghRAknQb0QQgghhBAlnAT1QgghhBBClHAS1AshhBBCCFHCSVAvhBBCCCFECSdBvRBCCCGEECWcBPVCCCGEEEKUcBLUCyGEEEIIUcJJUC+EEEIIIUQJJ0G9EEIIIYQQJZwE9UIIIYQQQpRwEtQLIYQQQghRwklQL4QQQgghRAknQb0QQgghhBAlnAT1QgghhBBClHAS1AshhBBCCFHCSVAvhBBCCCFECSdBvRBCCCGEECWcBPVCCCGEEEKUcBLUCyGEEEIIUcJJUC+EEEIIIUQJJ0G9EEIIIYQQJZwE9UIIIYQQQpRwEtQLIYQQQghRwklQL4QQQgghRAknQb0QQgghhBAlnAT1QgghhBBClHAS1AshhBBCCFHCSVAvhBBCCCFECSdBvRBCCCGEECWcBPVCCCGEEEKUcBLUCyGEEEIIUcJJUF8IEhIS2Lx5M1OnTuWFF17Az88PRVFQFIWJEycWyDVu377NO++8Q40aNXBwcMDT05NWrVrx008/oapqgVxDCCGEEEKUDLqiHsCj6MiRIzzzzDOF1v+xY8fo1KkT9+7dA8DZ2ZnY2Fj27dvHvn37WLlyJevWrcPOzq7QxiCEEEIIIYoPmakvJB4eHnTo0IH//e9/LF26FF9f3wLpNzo6mueee4579+5Rs2ZN/vjjD2JjY4mPj+ebb75Br9ezbds2xowZUyDXE0IIIcTDMWTIEBRFYciQIUU9FFECSVBfCFq1akVERAS///47n332Gf369SuwWfMZM2Zw69YtHBwc2LRpE40bNwbAYDAwatQoJk2aBMCPP/7IhQsXCuSaQgghRHEwceJEazpr+h87OzvKli1Lp06d+OmnnzAajUU9VCEeOgnqC4FWqy20vhcuXAhAv379qFSpUqbjo0ePxtnZGbPZzJIlSwptHEIIIR4N0dHRmEymoh5Gnvn4+Fh/dDodN2/eZNu2bYwYMYLmzZsTGRlZ1EMU4qGSoL4EOX/+PFeuXAGgS5cuWbZxdnamVatWAGzbtu2hjU0IIUTJEh0dzcaNG/n6669JTk4u6uHk2a1bt6w/8fHxXL58mREjRgBw9OhR3nzzzSIeoRAPlwT1JcipU6esv9etW9dmu7RjZ86cKfQxCSGEKFnSB/NHjx7FbDYX9ZAKRMWKFfnxxx/p0KEDACtWrCAuLq6IRyXEwyPVb0qQGzduWH8vV66czXZpx2JiYoiLi8PZ2fmBruvu7p5jm+joaBRFwdXV9YGuJYQQj6qYmBg0Gk2RpbpER0ezb98+Tpw48cgE8lnp1KkT27dvJyUlheDgYBo2bGg9dufOHTZs2MCGDRs4e/YsN27cICUlhXLlytG2bVvGjBlDnTp1sux3yJAhLFiwgMGDBxMUFMSqVav45ptvOHnyJElJSVSvXp2hQ4cyevRoNBrbc6ZLlizhu+++4+TJk2g0GmrWrMmwYcOs3zLkZM2aNcybN48//viDyMhIPDw8aNKkCcOGDeP555/P1diDgoKYPXs2Z86cQavV8uSTT/Lhhx/SunVrAEwmE99//z1BQUEEBwejKAotWrRg6tSpPPnkk7kap3j4JKgvQWJjY62/Ozo62myX/lhsbOwDB/W5JfXxhRDCNlVVsVgsD/26j0swnyb9e9H99zt27FgWLFhg/bOrqysmk4lLly5x6dIlFi9ezJIlS+jZs2e213jjjTf49ttv0Wg0uLq6kpiYyF9//cXbb7/N8ePHM1wj/biGDRvG/PnzAVAUBXd3d44ePcqRI0fYuXNntkU1UlJSGDRoEMuXLwdAo9Hg5uZGeHg4GzduZOPGjfTv358FCxag1+tt9pMW4Ot0OhwcHIiMjGT79u3s3r2btWvX0rFjR7p168a2bdswGAzo9Xri4+PZvHkzu3fvZs+ePTRq1Cjb50cUDQnqRY6ioqJybJM2m5+btkII8TjKzbeeBelxC+bTbN26FUgNmu8vKFGpUiU++OADevbsSbVq1XBycsJisXD27Fk+/vhjlixZwuDBg2nWrBlly5bNsv9169YRHx/PzJkzGTZsGK6urty7d49x48bx008/sXDhQgYPHkz79u0znPf1119bA/o33niDjz76iFKlShEdHc1XX33FpEmTcHNzs3lf48ePZ/ny5SiKwgcffMB//vMf3N3diYyMZMaMGUyfPp2lS5dSsWJFPvnkkyz7+PXXX0lOTmb27NkMHDgQBwcHzp8/z0svvcSxY8cYPXo0zz33HEePHmXFihX06NEDnU7H8ePH6du3L5cuXeKtt95i3759uf77EA+PBPUliIuLi/X3hIQEm6kuCQkJWZ4jhBCieFJVlaioqAIpxRgXF8fx48c5e/Zsrr8ZCA8PJz4+/oGvDaDX63F3d0dRlALpL7euXLnC1KlT2bFjBwBdu3bFy8srQ5uPPvoo03kajYY6deqwePFioqKi2LhxI/PmzeODDz7I8jqRkZHMnz8/Qy15Ly8v5syZw4kTJzh27BhLly7NENQnJSVZS04PHDiQr7/+2nrMzc2Njz76iKSkJJvB+PXr15k1axYA48aNY/LkydZjHh4eTJs2jaSkJGbOnMnMmTN56623KFOmTKZ+oqKiWLx4MS+99JL1sRo1arBixQqqVq1KWFgY33zzDXv37qVly5bWNo0aNbKuV9i/fz/Xrl2jfPnyWY5VFB0J6kuQ9LMG169ftxnUX79+HUj9WvFhpd4IIYTIH1VVWbp0KcHBwUU2hqCgoALtr1q1avTv379QA/v0mzrGxsZmmNCqWbMm3333XZ77fPbZZ9m4cWO2M9EVKlRg0KBBWR7r1q0bx44d4+TJkxke37ZtGxEREQB8+OGHWZ47btw4vvrqK5KSkjIdW716NSaTCXt7e8aNG5fl+R988AHffvstycnJrFq1itGjR2dqU7FiRV588cVMj1euXJkqVapw8eJFWrVqlSGgT9OmTRvs7OxITk7m5MmTEtQXQ1L9pgRJX/EmfSWc+6Udq127dqGPSQghxINJSEgo0oC+MAQHB2cIsgvD7du3rT/przVo0CBOnDhhs6DEX3/9xeuvv079+vVxdXVFo9FYN7F6/fXXAbh27ZrN6zZp0sTmQti0ybe0AD7N0aNHgdQPBFWrVs3yXDc3N5u56mnnN2nSxOaEnoeHh3VDyrT292vcuLHND1o+Pj7Wa2RFq9VSqlQpANkDoJiSoL4EqVGjBhUrVgRgy5YtWbaJj49n7969ADz99NMPbWxCCCHyx9HRkWrVqhX1MApUtWrVsi3oUBBUVbUuPr5x4wY//PAD7u7uLFy4MEN6S3rffPMNTz75JN9//z1///03cXFxuLm5WTexSguYs0tFyi6tVadLTYC4P43qzp07QPaV6wCbs995PT+t/f1yM/b83J8oHiT9poQZNGgQU6dOZdmyZUyYMAF/f/8Mx7/99lvi4uLQarUZcuaEEEIUT4qi0L9//wLLqU8TFxfHiRMnOHPmTI659UOGDMHBwaFArqvX6/Hw8CiQvnJDURTKlCnDK6+8Qo0aNWjfvj3vvvsujRo1ypDXfvbsWd5++20sFgu9e/fmf//7H0888QQGg8HaZu7cuQwfPrzQqrk9aDpSbs9/2OsZRPEgQX0hiYyMzFBtIO0FNSEhgfDwcOvj9vb2GfLeJ06caF1MExoamilo/+9//8tPP/3ErVu3ePbZZ1m4cCGNGjUiJSWFuXPnMmHCBABGjhxJ9erVC+v2hBBCFCBFUQo8EPb29qZy5cp07NiRffv2cfz4cZtVcEqVKoWTk1OBXr8otG3bloEDB7Jw4ULeeOMN/v77b7RaLQCrVq3CbDZTq1Ytli1blmUKza1btwplXN7e3kD2aT3w75o4W+dfvXo12/PT+i9dunRehygeAZJ+U0gaNmxI6dKlrT9p/yN+/vnnGR5/44038tSvm5sbGzZswMvLizNnztC4cWPrgtjXX3+dlJQUnn76ab788svCuC0hhBAljKurK8888wxvvvkmTZo0sQa5j6oPP/wQrVbL2bNnM9SLT3sffuKJJ2zmxP/++++FMqa0XPerV69y6dKlLNvExMRw7NixbM8/evQo0dHRWbaJiorKkHsvHj8S1JdAjRo14vTp04wZM4Zq1aphNBpxcnKiZcuWzJkzh82bN2e7gYUQQojHz+MS3FepUoW+ffsCMGXKFGtKU1oN+L///jvL9JrNmzeza9euQhlTx44drd/ETJkyJcs2n332GYmJiVke69mzJzqdjqSkJD799NMs20yfPp3k5GT0en2Om2eJR5ME9YUkLCzMuognu5/7y4hNnDjReuz+1Jv0fHx8mDlzJhcuXCAxMZHIyEj27t3L8OHDs92eWgghxOPtcQju33vvPRRFISwsjLlz5wLQuXNnAE6fPs2oUaOsFWri4+OZPXs2vXr1ylTXvqA4ODhY02MXLFjA22+/zb1794DUGfopU6Ywffp0mxuUlStXjrfeeguATz75hI8++si62WNUVBQTJkzg888/B+A///lPljXqxaNPoj8hhBDiMZQ+uH/Uvt2tW7cu3bp1A2DatGkkJyfToUMH+vXrB8D333+Pl5cXHh4euLm58eqrr1KrVi0mTpxYaGN66623GDhwIACzZs3C29sbT09PPD09+fDDD+nbty/du3e3ef706dPp06cPqqoyefJkvLy88PT0xMvLi6lTpwLQv39/m98EiEefBPVCCCHEY8zV1dVaqvBR8v777wOpi0dnz54NwJIlS/jqq6+oX78+dnZ2mM1m6tWrx8cff8z+/fsLdcNGjUbDwoULWbhwIYGBgTg4OGAymXjyySf54Ycf+Pnnn7M932AwsHz5clavXk2XLl3w8vIiNjYWLy8vunTpwpo1a/j555/R6/WFdg+ieFPUwqrbJB4raV8Zpn0dKIQQIiN5nRRCFCaZqRdCCCGEEKKEk6BeCCGEEEKIEk6CeiGEEEIIIUo4CeqFEEIIIYQo4SSoF0IIIYQQooSToF4IIYQQQogSToJ6IYQQQgghSjgJ6oUQQgghhCjhJKgXQgghhBCihJOgXgghhBBCiBJOgnohhBBCCCFKOAnqhRBCCCGEKOEkqBdCCCGEEKKEk6BeCCGEEEKIEk6CeiGEEEIIIUo4CeqFEEIIIYQo4SSoF0IIIYQQooSToF4IIYQQooSbOHEiiqLQtm3boh6KKCIS1AshhBCiRDh+/DiTJk2iW7du1KxZEy8vL/R6PV5eXrRo0YJp06YRERGR5blDhgxBUZQMP1qtFjc3NypWrEjbtm0ZM2YMmzdvxmKxZDuOXbt2Zejn1VdfzXHsn3/+eYZzgoKC8vMU5EtQUFCGa3/yySc5njNq1KgM5+zatSvLdnFxccyaNYv27dvj4+ODwWDA09OTWrVq0alTJyZNmsSOHTswm80FfFfifrqiHoAQQgghRG7MmzePb7/91vpne3t7HBwciIiI4MCBAxw4cICvvvqKdevW0axZsyz70Gg0lC5d2vrn+Ph4rl69ytWrV9m9ezdfffUVFSpU4Msvv6Rnz565GteyZcv48ssvcXBwsNlm/vz5ubzLwjd//nzGjRtn83hycjJLly7NsZ+TJ0/y3HPPcfXqVetj9vb2qKrK+fPnOXfuHNu2bQMgNDQUf3//Bx67sE1m6oUQQghRIgQEBPD5559z8OBBIiMjSUxMJCYmhtjYWIKCgihdujTh4eH06NGD6OjoLPuoUKECt27dsv7ExsaSnJzMH3/8wcSJE/Hx8eHq1av06tWL8ePH5zgmf39/oqOjWbt2rc02hw4d4uzZs8UiqPX39+fChQscOHDAZpu1a9cSGRmZ7XhjY2N55plnuHr1KqVKlWLWrFncuXOHxMREIiMjiY2NZc+ePYwdO5YyZcoUwp2I+0lQL4QQQogSYdCgQfz3v/8lMDAQd3d36+POzs4MHjyYxYsXA3Dnzh02bNiQ634NBgONGzfmo48+4vTp07Rr1w6Ajz/+mJ9//jnbcwcPHgykfotgS9qxIUOG5HpMhaWgxrts2TKuX78OwPr163nzzTczfAPi5OREq1at+PTTT7ly5Qrly5cvgNGL7EhQL4QQQohHQmBgoPX3a9eu5asPLy8v1qxZQ7ly5QD44IMPMBqNNtv37t0bZ2dnduzYweXLlzMdT0hIYPny5SiKYg2oc7JmzRqee+45a466j48Pzz33XLbfBuRW2tqCFStWkJCQkOn41atX2b59O87OzvTq1ctmP3/++ScA3t7eGZ73rOh0OnQ6yfgubBLUCyGEEI+46FsR/Ll+H/sXbebP9fuIvpX1YtKSbu/evdbfq1Spku9+3N3defvtt4HUXPD0/d7PycmJ3r17o6oqCxYsyHR89erVxMTE0K5duxzTb1JSUujXrx89e/Zk48aNhIeH4+zsTHh4OBs3buSFF17gxRdfzPZDRk78/f1p27YtsbGxrFq1KtPxoKAgLBYLffr0wcnJKcf+IiMjs/xwIB4+CeqFEEKIR1joH2fZ9Nlizmw/yuVj5zmz/SibP19M6B9ni3poBSI5OZmwsDC++eYbBg4cCEDVqlXp2rXrA/X77LPPWn/fvXt3tm1ffvllIDUgVlU1w7G0VJa0NtkZP368dVZ/woQJ3Lt3j4iICMLDw635/UuXLmXChAl5uhdb470/BUdVVWtVnpzGGxAQAIDRaGTYsGE2qw6Jh0e+CxFCCCGKmKqqxEfEYEoxFWi/ceHRHFq6DdWSMdC0mC0cWvobegc7nL3cCvSaOoMOJ09XFEUp0H7vZ29vT3JycqbHW7Rowc8//4ydnd0D9V+zZk0MBgMpKSlcunQp27YtW7akWrVqBAcHs2vXLmtOfmhoKLt378bNzY0XXngh2z6uX7/OrFmzABg3bhyTJ0+2HvPw8GDatGkkJSUxc+ZMZs6cyVtvvZXvBag9e/Zk1KhR7Nmzh5CQECpXrgykluoMCQmhevXqtGjRgrCwMJt99OvXjxkzZnDq1CmWLVvGmjVraNGiBQEBATRq1IjAwEAqVKiQr/GJ/JGgXgghhChCqkVl90/ruHEm9CFf18Ken9YVSt9la1eizfBuKJrCC+x9fX1JSkoiLi6O+Ph4ANq1a8dnn31GxYoVH7h/RVHw8PDg9u3buZqFHjp0KOPHj2f+/PnWoH7+/Pmoqkq/fv2yLXcJqWk6JpMJe3t7m+UmP/jgA7799luSk5NZtWoVo0ePzvuNAQ4ODvTr148ff/yRoKAg6weItLKbQ4cOzbEPOzs7duzYwejRo1mxYgUpKSns3LmTnTt3WtvUqlWLkSNH8tprrz3whyyRM0m/EUIIIYpQcnziQw/oC9uNM6EkxycW6jXCwsK4desWcXFx3L59mxkzZvDnn38SEBDAhx9+WCDXuD+VJjuDBg1Cq9Vac+gtFos1xz43QfLRo0cBaNKkCa6urlm28fDwoHHjxhna51famBYsWIDFYiEmJobVq1ej1WoZNGhQrvooXbo0y5YtIzQ0lFmzZtGnTx+qVKli/Zbm7NmzjBkzhmbNmnHv3r0HGq/ImQT1QgghRBGyc3KgbO1KRT2MAlW2diXsnLKfmS5I3t7evPPOO2zZsgVFUZgyZUqeSlpmRVVVa617Ly+vHNuXK1eOp59+2lrtZvv27Vy5coXatWvTtGnTHM+/c+eOtZ/spJWGTGufX4GBgdSqVYsrV66wfft2li9fTkJCAp06daJs2bJ56svPz48333yT5cuXc/HiRe7du8eSJUuoW7cuACdOnOCVV155oPGKnEn6jRBCCFGEFI1CmxHdCi2nfu/8DagWSxbX1dDq5ecKJae+oPvMrYCAAFq2bMmePXv48ccfee655/Ld17lz56w5+7mtpDN06FA2b97M/Pnz8fPzsz6WF7ldi1AQaxaGDh3K2LFjmT9/PqGhodbHHpSHhwcvvvgiPXr0oHHjxpw9e5a1a9cSERGBp6fnA/cvsiZBvRBCCFHEFEUplEDYvYwXgf07cnjZb1jM/wb2Gq2Gpv06Ur5u5QK/ZlFLm+m+ePHiA/WzceNG6+9t27bN1Tndu3fHy8uLgwcPcvToUXQ6nbUiT068vb2B1Drx2Umrv59+o6f8GjhwIOPHj2fVqlUYjUa8vLzo1q3bA/ebxtHRkQEDBvD+++9jsVgIDg7O1bcWIn8k/UYIIYR4hFVqUosuYwdQu0Nj/BrVoHaHxnQZO4BKTWoV9dAKRUhICAAuLi757iMqKspaiaZKlSq0bNkyV+cZDAZefPFFILXU4zPPPIOPj0+uzk2fK5+W9pPVuNLn3j8oX19funTpYq17/9JLL2EwGB643/ScnZ2tv8ti2cIlM/VCCCHEI87Nx5MGXXMXmBZXZrMZjUaTbdrJ9u3bOXLkCJD72fX7RURE0Lt3b+uM+LRp0/K0G+obb7xhDYyz25H1fj179uSdd94hKSmJTz/9lOnTp2dqM336dJKTk9Hr9fTs2TPXfWdn/PjxVK9eHYCRI0fm+rwjR45QtWrVbNNpTCYTS5YsAVI36apRo8aDDVZkS4J6IYQQQhR7V69epUePHrz22mt07NiRSpUqWQP8q1evsmTJEqZOnYqqqnh6ejJmzJhc9200Gjl58iQbN27ku+++4/bt20BqCcm+ffvmaZzVq1dnxowZeToHUtOG3nrrLb744gs++eQT9Ho9Y8aMwd3dnaioKL744gs+//xzAP7zn//ku0b9/QIDAwkMDMzzeStWrGD27Nn07t2bF154gWbNmlkXFCckJLB7926mT59u/ZD12muv5VjWUzwYCeqFEEIIUSL89ddfvPrqq0BqqourqyuJiYnWOvUAlSpVYvXq1fj6+mbZx9WrVzMcS0xMJDY2NkP5yooVKzJr1ix69OhRODdiw/Tp07l69SorVqxg8uTJTJ06FTc3N6Kjo7H8s9i5f//+TJky5aGOKyt6vZ64uDjmz59vrW/v6OiIXq/PlD40cODALL95EAVLgnohhBBCFHtly5ZlxYoV7Nq1i8OHD3Pz5k3Cw8PRarVUrFiRJ554gu7du/Piiy9mOyNssVisM/GKouDs7Ey5cuWoXLkyTz75JJ07d6Zjx45oNA9/2aHBYGD58uX07duXn376iaNHjxIZGYmXlxeNGzdmxIgRPP/88w99XFmZPn06PXr0YOvWrRw8eJBz585x+/Zt4uLicHNzw9/fn8DAQAYOHEiLFi2KeriPBUXNy84KQtjg7u4OpC7iEUIIkZm8TgohCpNUvxFCCCGEEKKEk6BeCCGEEEKIEk6CeiGEEEIIIUo4CeqFEEIIIYQo4SSoF0IIIYQQooSToF4IIYQQQogSToJ6IYQQQgghSjgJ6oUQQgghhCjhJKgXQgghhBCihJOgXgghhBBCiBJOgnohhBBCCCFKOAnqhRBCCCGEKOEkqBdCCCGEEKKEk6BeCCGEEEKIEk6CeiGEEEIIIUo4CeqFEEIIIYQo4SSoF0IIIcQjSVEUFEVh165dRT2UXJs4cSKKotC2bduiHkqRCgoKQlEU/P39i3ooJYYE9UIIIYQoEdIC3tz8PEpGjBiBoih4eXmRnJyc6/OqVq2Koih069atEEcnigtdUQ9ACCGEECKvfHx8cmxTo0YNABwdHQt7OIVq2LBh/PTTT0RERPDrr7/Sp0+fHM/ZvXs3ly5dsp4vHn0S1AshhBCPEIvFQkx8bJ7OcXVyQaMpWV/e37p1K8c2586dewgjKXyBgYHUrl2bM2fOMH/+/FwF9fPnzwdSP/w8++yzhT1EUQxIUC+EEEI8QmLiY3nhPy/m6Zw1M3/G3cWtkEYkCsKwYcN455132LZtG9euXaN8+fI228bGxrJq1SoABg0ahE4n4d7joGR9LBdCCCGEyKWsFsomJyfTsGFDFEUhICAAo9GY5bl9+/ZFURTKli1LeHh4puO7du2if//+VKxYEXt7e9zc3AgICOCzzz4jPj4+23Ft3ryZjh074u7ujrOzM0888QSfffaZzbEADBw4EL1ej8ViYcGCBdn2v3z5cusYXn755QzHTpw4waBBg/Dz88Pe3h4PDw+aN2/OV199lWO+fkpKCj/99BOdO3fGx8cHOzs7ypQpQ7NmzZg8eTKhoaEZ2icmJrJu3TpGjBhBgwYNKF26NHZ2dpQtW5YePXqwefPmbK+X3m+//UaXLl0oXbo0Dg4O1KlTh6lTp5KUlJTrPh55qhAFwM3NTXVzcyvqYQghRLH1sF4nI2Oi1HbDn8nTT2RMVKGPqyB89NFHKqDmNnxJa7tz584Mj587d051cnJSAfW///1vpvPmzJmjAqpGo1F///33DMeMRqM6fPhwa9+A6uzsrGq1Wuufa9SooYaFheV4D4Dq7u6u6nQ6FVBbt26tvvfeeyqgtmnTJtO5PXv2VAG1atWq2d538+bNVUBt0aJFhse//PJLVVEU67Xd3NxUvV5v/XP9+vXVGzduZNlnSEiIWrduXWtbRVFUd3f3DPf91ltvZThn/vz5Ge7VwcFBdXR0zPDYO++8k+X10s718/NTv/nmG+u40z9fgNqwYUM1IiIi2+fjcSEz9UIIIYR4rNSoUYP/+7//A+CLL75g27Zt1mPnzp3jrbfeAmDs2LF06NAhw7n//e9/+emnn/Dx8eG7777j3r17xMbGkpiYyM6dO2nYsCHnz5/nhRdewGKxZDh33bp1TJo0CYDevXtz5coVIiMjiYmJ4dtvv+XQoUN8//33NsedtuD14sWL7NmzJ8s258+f58CBA0DGWfoNGzYwZswYVFWle/fuhISEEBUVRVxcHAsXLsTFxYWTJ0/Sq1cvzGZzhj5jYmLo1KkTp06dwsPDgx9//JHIyEgiIyNJTEzk/PnzfPHFF/j5+WU4z93dnZEjR7Jz507Cw8NJSEggPj6eGzduMGnSJPR6PV988QXr1q2zec93795lzJgx9OrVy/p8xcbG8sMPP2BnZ8eJEydkIfA/FFVV1aIehCj53N3dAYiKiirScQghRHGV3eukqqrcCr9NUkruyxXaEhsfy9ufv5unc77636e4OLk88LUB7A12+JbyKZSykhMnTrQGxdlVv9m+fTt16tSxjmHnzp1Z1n3v378/y5Ytw8fHh5MnT+Lm5kbTpk3566+/CAgIYN++fej1emv7U6dOUb9+fRwcHDh06BD16tXL1GdsbCy1a9fm2rVrrF27lh49eliP1alThzNnztCmTRt27NiRaXHy7NmzefXVVwFo06ZNpvr6FosFPz8/rl27xuDBgwkKCsp0/XfffZfPPvsMZ2dnbt68ibOzc4Zrt2zZkl27dqHVajOct379emvpy5UrV9KrVy/rsQkTJjB16lTs7Ow4ePAgDRs2zHTd/JgxYwb/+9//6NChA7///nuGY0FBQQwdOhTA5vM1d+5chg8fDsCRI0do0qRJgYyrpJKVE4UoNjaWL774gtWrVxMaGopWq6V69er069eP0aNHYzAY8t33qlWrWLBgAceOHSM8PBy9Xk/58uVp3bo1o0aNokGDBgV3I0IIIQqNxWLhg28mc+jvP4psDHn9EJCTwHpNmPrGh4VaUef27ds2j2WXm57e7NmzOXz4MKGhoQwePJiqVavy119/4eLiwtKlSzME9JAaRKqqyrPPPptlQA/g4uJCjx49+Oabb9i6das1qD958iRnzpwB4IMPPsjyuRkxYgRTpkzh+vXrWfat0WgYPHgw06ZNY9WqVXzzzTfWoB3AbDazaNEiIHVNQNqx9NeeMGFCpoAeoGvXrgQEBHDkyBGWLl2aIaifN28eAMOHDy+wgB7g2Wef5X//+x8HDx7EbDZnOS6w/XwNHTqUiRMncu3aNZYtW/bYB/WSflNILl++TP369Zk0aRKnTp1CVVWSk5M5evQo//3vfwkMDCQyMjLP/SYnJ9OtWzd69+7Nhg0buHnzJnZ2dphMJi5cuMBPP/1Eo0aN+PLLLwvhroQQQhS06LiYIg3oC8Ohv/8gOi6mUK+hqqrNn9xObLm6urJ06VJ0Oh1btmzhm2++AeD777+ncuXKmdrv27cPSF3o6uvra/MnrZzk5cuXrecePXoUAJ1OR6tWrbIcj0ajyXEn2ZdffhlFUYiPj2f58uUZjm3evJmbN29a22V17TZt2tjsu2PHjhnap93DjRs3gNTAP69u377NRx99RLNmzfDy8kKn01kXMNeuXRuAhIQEmzFRbp+v9GN+XElQXwjMZjNdu3YlLCyMMmXK8NtvvxEfH09CQgLLli3DxcWFEydO8NJLL+W57+nTp7N+/XoAXn/9da5du2bN5Tt69CgtW7bEYrHwzjvvyD9wIYQoAdycXQms92jNMAbWa4Kbs2tRDyNXmjZtas2hh9QZblvvz2nBbVxcHLdv37b5k1Z5JiEhwXrunTt3AChVqhR2dnY2x5NdqUqAypUrWwPZtBn0NGl/rlmzJs2bN8/3tdPaQ8b9AO7Pmc/JwYMHqVmzJpMnT+bQoUNERETg4OCAt7c3Pj4+lCpVytrWVsWgnMZcrly5TGN+XEn6TSEICgri77//BmD16tU0a9YMSP1E2bdvXywWCy+++CKbN29m+/btmRbhZGfhwoVAan7Zt99+a31co9HQqFEjNmzYQPny5YmLi2P16tU0bty4AO9MCCFEQdNoNEwb/dEjlVNfprRvgfT1MERFRbFy5Urrn48fP05cXFyGtJY0aQtIP/nkE959N38pSwWx1mDYsGHs3LmTAwcOcP78eWrUqEF4eDgbNmywHn+Qa9tql5exm0wm+vfvT1RUFA0aNGD69Om0bNkSF5d//51dunSJqlWrAqnfvDzoNR93EtQXgrT6se3atbMG9On169eP999/n9DQUBYuXJinoD7tazVbwbqbmxvVq1e3vigJIYQo/hRFKbBAOCo2Os/nVCxT4bHdfGrEiBFcuXKFcuXKkZSURHBwMG+88UaWi1B9fX25ffu2deIuL7y9vYHUai7Jyck2Z59t5dOn17NnT9544w2ioqKYP38+n3zyCYsWLcJoNKLT6Rg4cGC+rn3t2jUASpcubX2sTJky1t/DwsKoUaNGjuOD1Fn6y5cvo9Vq2bBhg3VGPb3c7Aqc2+cr7R4fZ5J+U8ASEhLYv38/AF26dMmyjaIodO7cGSBDGa3cSMvxO3bsWJbHo6OjuXDhAmA78BdCCCEEzJkzh1WrVqHRaFi0aBFz584FUifnli5dmql9ixYtANi4cWOeJ87S3pNNJpM1N/9+FoslU8WbrNjb2/Pii6m7Bi9cuBCz2WzN43/uuecyVQZKf+3du3fb7DetAk36BacVK1a0puWkpf/mxtWrV4HUDwhZBfTpr5ed7J4vVVWtpT0l5pGgvsCdPXvWWpe2bt26NtulHbt16xYRERG57v+1114DUneyGzVqlPUTqqqqHD9+nOeee464uDgCAwPzlbMvhBBCPA7OnTvH22+/DaSWgWzXrh3du3fn9ddfB+DVV1/NtEPqiBEjUBSFqKgo/ve//2Xbv9FozBD4169fn1q1agEwbdq0TDXsITUnPm22PCdpKTY3b95kypQp1m8Pskq9qV+/vnVR6tSpUzPVoQfYtGkThw8fBlJLfaaXtuj2p59+4sSJE7kan5tb6jc/aesM7nft2jXrXgE5sfV8LViwgCtXrgCpayEeew9/v6tH27p166y7nP3111822/3yyy/Wdn///Xeu+zebzerYsWNVjUaTYSc7g8GgAqqvr686btw4NSEhoSBuR1XVf3dBzO6Hf3amE0IIkbWHtaOs2WxWI2Oi8vRjNpsLfVwFoaB2lE1KSlKfeOIJFVCbNm2qGo1G67HExETrzqn3H1NVVR0zZoy13169eqknTpxQLRaLqqqqajKZ1D///FOdPHmyWqFCBXXv3r0Zzl2zZo313L59+6pXr161XvP7779X7ezsVHd3d5s7yt6vQYMG1p1vAbVMmTKqyWTKsu369eut1+7Ro4caEhKiqqqqpqSkqIsXL1ZdXV1VQG3evHmmPmJiYtRq1aqpgOrh4aH++OOPanR0tPX88+fPq5MmTVI///xz6zlRUVHWXXtbt26tnj9/3vocbdmyRa1SpYrq5eVlHVNoaGiGa6btKOvo6Kjq9fpMz9ePP/6o2tvbq4DavXv3HJ+rx4EE9QVsyZIl1n+gwcHBNttt27bN2u7AgQN5uobZbFaDgoJUZ2fnDFst88/2ya+99pp69+7dB70VKwnqhRDiwT2soP5RVlBB/ejRo1VAdXFxUS9dupTpvFOnTqkODg4qoI4fPz7DMZPJpL799tsZ3nvt7e1VLy8vVafTZXh83759mfp+//33M7Tx8PCwnteqVSv1vffey3VQ//XXX2foa9y4cdm2nzlzpqooSoaYIW1SEFDr1aunXr9+PctzL126pNauXdvaVqPRqB4eHqpWq7U+9tZbb2U45/vvv88wPmdnZ2sgXqpUqQwTobaCej8/P/Wbb76xjtvDw0PV6/XW85544gk1PDw8x+fqcSBBfQEr7KD+7t27atu2bVVA7dixo7pv3z41KipKvXnzprpmzRrrJ+nKlSur165dK4hbyhV5sxJCiOzJ6+SDK4igfsOGDdbHFy1aZPPc7777zhq87tixI9Px48ePqyNHjlRr1KihOjk5qTqdTi1durTaokULdeLEieqff/5ps+8NGzao7du3V11dXVVHR0e1Xr166ieffKKmpKRY7zE3QX1ERIQ1SAbUCxcu5HjOsWPH1AEDBqgVKlRQDQaD6ubmpgYGBqozZ85UExMTsz03OTlZ/e6779S2bduqXl5eql6vV8uWLas2a9ZMnTJlihoWFpbpnI0bN6pt27a1BvRVqlRRR48erV6/fl0NDQ3NVVCvqqlxU+fOnVUvLy/Vzs5OrVmzpjp58uQCzUwo6RRVtVFDSORL+m2W//rrL+rXr59lu19//dW6y9zff/+dbf59es8++yybNm2iTZs27Ny5M1Oppzt37lCnTh3Cw8MZMGCAdWe5wpbd9udCCCHkdVIIUbhkoWwBK1u2rPX37MpSpT+W/pzsnD17lk2bNgHwzjvvZFm71dvbm0GDBgGwZs0am3VfhRBCCCHEo0OC+gJWq1YtNJrUp/XUqVM226Ud8/X1xdPTM1d9nzlzxvp7lSpVbLarVq0akFpeU3ZYE0IIIYR49ElQX8AcHR2tdWy3bNmSZRtVVdm6dSsATz/9dK77TvuwAHD58mWb7dKXjspqRzwhhBBCCPFokaC+EAwePBiAnTt3Wmu+prdy5UpCQkIArKkyufHkk09af//++++zbBMfH8/ChQuB1Lq0Tk5Oue5fCCGEEEKUTBLUF4LBgwdTr149VFWlZ8+ebN++HUjdKW7lypWMGDECSN1xtkOHDhnOnThxIoqioCgKYWFhGY75+fnRtWtXIHVB7sCBA7l06RKqqmI0Gjlw4ABt27a1fmB45513CvlOhRBCCCFEcaAr6gE8inQ6HevWraNdu3aEhYXx1FNP4ejoiMViISkpCYCGDRuyZMmSPPc9b948OnfuzLFjx1i8eDGLFy/G0dGRlJQUTCaTtd1///vfPH0LIIQQQgghSi6ZqS8k/v7+nDx5kg8//JC6deuiKAp6vZ5GjRoxY8YMDh06hIeHR577LVWqFIcOHeKnn36iU6dO+Pj4YDQa0el0VK5cmQEDBrB3714+//zzQrgrIYQQQghRHEmdelEgpP6yEEJkT14nhRCFSWbqhRBCCCGEKOEkqBdCCCGEEKKEk6BeCCGEEEKIEk6CeiGEEEIIIUo4CeqFEEIIIYQo4SSoF0IIIYQQooSToF4IIYQQQogSToJ6IYQQQgghSjgJ6oUQQgghhCjhJKgXQgghhBAApKSkUKVKFezs7Lh69WpRD6dAvfrqqyiKwrx584p6KIVCgnohhBBCFHsTJ05EURQURcHJyYkbN27YbBsWFmZtu2vXrkzH27Ztaz2e00/btm0zne/v74+iKAwZMiTTsaCgoAznf/LJJzne26hRozKck9WYAeLi4pg1axbt27fHx8cHg8GAp6cntWrVolOnTkyaNIkdO3ZgNptzvKYtX3/9NSEhIQwfPpwKFSpkOJb+ec3pJygoKMO5Q4YMydV5/v7+2V7zq6++ynb8aX+3Wf3djB8/HoPBwIQJE4iPj8/Hs1O86Yp6AEIIIYQQeZGQkMCkSZOYPXv2A/Wj1+vx9PTMtk1Ox3Myf/58xo0bZ/N4cnIyS5cuzbGfkydP8txzz2WYPbe3t0dVVc6fP8+5c+fYtm0bAKGhoZmC49yIiIhg6tSp2NnZ8d5772Xb1tXVFQcHB5vHbR3TaDSULl3a5nnZHQOYNm0aL7/8Mq6urtm2y0rFihUZOnQos2fP5osvvuDDDz/Mcx/FmczUCyGEEKLEmTdvHhcuXHigPpo3b86tW7ey/VmzZk2++/f39+fChQscOHDAZpu1a9cSGRmZbRAeGxvLM888w9WrVylVqhSzZs3izp07JCYmEhkZSWxsLHv27GHs2LGUKVMm3+P98ccfiYqKomvXrpQvXz7btrNmzcr2eevbt2+W51WoUCHb8/74449srxseHs6MGTPyfY+vvvoqAP/3f/9HcnJyvvspjiSoF0IIIR5hUadP5+qxkqJChQrUr18fk8nE+PHji3o42Ro8eDBAtjncaceyShdJs2zZMq5fvw7A+vXrefPNNzPMaDs5OdGqVSs+/fRTrly5kmNAnhVVVZkzZw4AAwYMyPP5D8Nzzz0HwMyZM7l9+3a++mjQoAF169bl3r17rFq1qiCHV+QkqBdCCCEeURcXLOLIW/8hbOW/wUvYylUcees/XFywqAhHln8ajYaPP/4YgNWrV3PkyJEiHpFtaXnkK1asICEhIdPxq1evsn37dpydnenVq5fNfv78808AvL29CQwMzPaaOp0OnS7v2dW///47ISEhuLu706VLlzyf/zC88cYbVKxYkfj4eCZPnpzvfvr37w+kfjPxKJGgXgghhHgEXVywiJBFiwG4MHsOYStXEbZyFRdmp87GhixaXGID+2eeeYY2bdoAZJuvXtT8/f1p27YtsbGxWc4KBwUFYbFY6NOnD05OTjn2FxkZmeWHg4KwZcsWAJo2bYrBYCiUazwoOzs7Jk2aBMCcOXO4dOlSvvpp3bo1APv37yc2NrbAxlfUJKgXQgghHjFRp09bA/o0F2bPsQb0aUIWLS6xqTiffvopADt37rQGpMXRyy+/DGROwVFV1VohJq2NLQEBAQAYjUaGDRtGREREgY9zz549Ga5VXA0aNIg6depgNBp5//3389VHo0aN0Ol0mM1m9u/fX8AjLDpS/UYIIYQoYqqqknjrNpbkpALpT+fkhF/vXlxemX3OsF/vXuicnIgLCyuQ6wJo7Oxx8PVBUZQC6zMrTZs25fnnn2ft2rW89957dOrUKc/XPHDgAL6+vtm2mTVrls1Fn7nRs2dPRo0axZ49ewgJCaFy5coA7Nq1i5CQEKpXr06LFi0Iy+bvoF+/fsyYMYNTp06xbNky1qxZQ4sWLQgICKBRo0YEBgZmKj+ZFykpKZw4cQKAJ554IlfnvPXWWza/JRk5cqTN9JirV69m+5xfuHAh28o2Go2G6dOn0717d1asWMHYsWN58sknczXmNA4ODtSoUYPTp09z8OBBOnfunKfziysJ6oUQQogipFosnJjwEeGHH35u+OWVq3IM/POjVNMAGk6ZhKIp3ISA6dOns27dOv7880+WLl3Kiy++mKfzjUZjjgsuExMTH2SIODg40K9fP3788UeCgoKswe78+fMBGDp0aI592NnZsWPHDkaPHs2KFStISUlh586d7Ny509qmVq1ajBw5ktdeew07O7s8jfHOnTvW2vY5lZRMExMTQ0xMjM1jtlgslmyfc4vFkuO1u3XrRosWLdi/fz/jxo2zlvLMi1KlSgFku99BSSPpN0IIIUQRSomOKZKAvjCFHz5CSrTtwK6g1KxZ0xoUT5gwAaPRmKfz27Rpg6qq2f5kV5Umt9LGuGDBAiwWCzExMaxevRqtVsugQYNy1Ufp0qVZtmwZoaGhzJo1iz59+lClShXrtxNnz55lzJgxNGvWjHv37uVpfHfv3rX+ntu6/PPnz7f5nGW3QZSfn1+2z7e7u3uurp+WfvXbb7+xffv2XJ2TXtp9pr/3kk6CeiGEEKIIGdxcKdW0eOcx51WppgEY3PK+OVB+TJw4EQcHB0JCQvjhhx8eyjXzKjAwkFq1anHlyhW2b9/O8uXLSUhIoFOnTpQtWzZPffn5+fHmm2+yfPlyLl68yL1791iyZAl169YF4MSJE7zyyit56jMp6d+0r7zO8heVFi1a0LVrVyB1sbSqqnk6P21zrPT3XtJJ+o0QQghRhBSNhoZTJxdoTn3MxUuc+uSzXLWtO24srlWrFMh1ITWn3rFM9nnqBalcuXKMHj2azz77jKlTp+YqnaUoDB06lLFjxzJ//nxCQ0Otjz0oDw8PXnzxRXr06EHjxo05e/Ysa9euJSIiItez7l5eXtbfIyMjH3hMD8vHH3/Mxo0bOXr0KCtXrqRPnz65PjdtsXH6ey/pJKgXQgghcpBkNLIn+CJHLl8mLjkJZzt7Avz8aF2tKvZ6/QP3ryhKgQbCzv7+JFy/kaECTvVXRgBkqIBTeeAAyj7VocCuW1Tee+895syZw507d/jiiy+smz4VJwMHDmT8+PGsWrUKo9GIl5cX3bp1K7D+HR0dGTBgAO+//z4Wi4Xg4GCaNm2aq3PT59EXRmWdwlKnTh0GDRpEUFAQH3zwAS+88EKuz027z9yuISgJJP1GCCGEyMbB0FAGL1jIzB072HfpEn9eu86+S5eYuWMHgxcs5OA/s67FTdXBA6k8MHVn0OqvjMC/dy/8e/eyBveVBw6g6uCBRTnEAuPu7m6txPLFF19w586dIh5RZr6+vnTp0sWa9//SSy8VeD14Z2dn6+95SaPx8PCwVqQJCQkp0DEVtkmTJmFnZ0dwcLB1R9zcSPu2pFatWoU1tIdOgnohhBDChoOhoUzZtJloG3m30UlJTNm0mUPFOLAPmDUT/97/7lbq37sXAbNmPjIBfZo333yT8uXLExsby9SpU4t6OFkaP34877zzDu+88w6jRo3K9XlHjhzJcQbdZDKxZMkSAJycnKhRo0aexpa2IVNx3qE3KxUrVrQ+l5MnTyY+Pj7Hc0JDQ60LZNM2MXsUSFAvhBBCZCHJaOSr7Tuw5LAAz6KqfLl9B8km00MaWd6416mTq8dKOnt7eyZOnAjA+vXri3YwNgQGBjJjxgxmzJhB9erVc33eihUr8PPz4+WXX2bDhg0ZqtskJCSwefNm2rVrZw3IX3vtNetC0Nxq27YtAIcPH87TecXB+++/j5ubG7du3eLo0aM5tk+7Rx8fH2rWrFnYw3toJKgXQgghsrA7ONjmDP39opOS2H0huJBHJHIyZMiQPAVpaZtP5fRT1PR6PXFxccyfP5+uXbtSqlQpnJyccHd3x8nJiWeeeYZ9+/YBqbn706dPz/M1evbsicFg4Ny5cwQHl6x/y56enowdOzbX7detWwdA//79C2tIRUKCeiGEECIdk9lMfHIy+/OYW/zHlcuFNCKRW1qtNk8BbdrmUzn9FLXp06dz6NAhJk2aROfOnfH390dVVeLi4nBzc+OJJ57glVdeYd++fSxcuBB9PhZve3t706NHDwBrGk9J8vbbb1OmTJkc28XHx/Prr78CqTvfPkoUNa+FPYXIQtpmEVFRUUU6DiGEyA+zxUKKyUSyyURMYhJ/XL7MkqNHSUhJyXUfDcqX45N/gqKsyOukKO727NlDmzZtqFKlCsHBwdaNrR4lCxcuZPDgwbRr144dO3YU9XAKlJS0FEII8VhSVZUUs5kUk4n45BT+unaNfSEhnLh6FVMutqq/n7OdfSGMUoiHp3Xr1jz99NNs27Ytz3XfSwKLxcJnn6Xu3zBt2rQiHk3Bk6BeCCHEY8X4TyCfaDRy/vYd9l+6xOGwMOLzMCufldqeblhMRjS6B69bL0RRmTFjBg0aNGDy5Mn06tULjebRydReuXIlp0+fpnfv3jRr1qyoh1PgJKgXQgjxyEufXnM5IpL9ly5xICSE8GzK35VTk7mLnhQl56DGWTVT8/B6LLVroXFxL8CRC/Fw1atXj7lz5xIWFsbNmzcpV65cUQ+pwBiNRj766KNiu+vwgyp2OfVbt26lU6dORT0MkUeSKyqEKG7S0muSjSbuxMZyICSE/SEhXM6m3reXkxNNKlbkiYjLVLh+jpOKA3M0pVCzyS1WVJWRlnCa1KxN+U620xXkdVIIUZiK3Ux9ly5drLVYhw4dSvny5Yt6SEIIIYqJJKORPcEXOXL5MnHJSTjb2RPg50fralWx/6fih9FsJtlkIiohgSNhlzkQEsLpmzexNYPlaDDQqEIFmvj5UcPHG4NeT8Ld8qRcPUN9TSIjLeEs0XgSp2gzneusmnnJEkFNczwOTzx6X+cLIUqOYjdTr9ForKutNRoNTz/9NCNGjKBr165otZlfUEXxIDNQQojCdjA0lK+278iydryrvT2jWremTtkynLh6jf2XLnHs6lWMZnOWfem1WuqVLUtjv4o8UbYsjnZ26LVaFBRQIDEhjs1fv087Ty8AUlA4pjhyRrEnHi1OmKmtJtFITcCAys579+g99gvcXdxsjl9eJ4UQhanYzdSnZzab2bJlC1u2bMHb25shQ4YwbNgwqlatWtRDE0II8RAdDA1lyqbNNnd3jUlK4uNt27DX6UiysbOrAlTz9qaJnx9NKlbAzdHx30Ce1EDfoNNi0OnQWkxsuRtOS3cP9BoNBlSaqfE0UzPn4BstFjaH36V3gd2tEELkXbFb0rx161Z69uxp3ThBVVVUVeX27dt89tln1KhRg3bt2rF06VJSHrBSgRBCiOIvyWjkq+07bAb0GdpmEdCXc3enxxP1+bh7N8Z1epoudWpT2sUVg1aHQavDyc6Ah5MjLvZ2aICExATOhp4j2mTkTFxcjtfcFxlJlI0PEkII8bAUu/SbNPfu3WPhwoXMmzeP06dPA6AoCqqqWtNz3N3dGThwIMOGDaNevXpFOdzHnnytLIQoLNvOnGVmHjeJ8XB0pHHFigT6+1OplBd6nQ7NPzPyOq0GO53un1l6SDGmkGIyEnotjIMnDnLl3J9UNCfTxNUNtxx25jRaLLwffIEok4k1M3+W9BshRJEptkF9eocOHWLOnDmsXLmSuH9mTe4P8Js0acKIESPo168fTk5ORTncx5K8WQkhCoNFVZmyaTMHQ0NzfU41b2/e7fgUdnq9NZDXajXYaVNTa1DV1EDemELI9TAO/nmIC2eO42dKIcDNDR87u1xfa+e9eyy9dRNAgnohRJEqEUF9mvj4eJYuXcrcuXM5fPgwkDm4d3Jyol+/fgwfPpyAgICiHO5jRd6shBAFyWg2k2Q0cubmTb7Yvp2YpORcn1vb15f3O3dGq1Ew6HTY6XRYLGZSjEaSU5IJvXGZQ38e4u/TR6lgTKGpuxv+Do42+4sxGnHW6dDcV9Yy/Sw9SFAvhChaJSqoT+/MmTPMmTOHJUuWEB4enuFYWoBfp04dRo4cyYABA6wvpqJwyJuVEOJBqapKsslEXEoKhy6FsPXMGYLve33PjcblyvDhM8+ARkOKMSVdIH+YE6eO4mtMoqmbOzWdnDIF6mlMisLhiAiOREdxLj6efmXKWCvhpEk/Sw8S1AshilaJDerTGI1G1qxZw9y5c9mxYwcWiyXDcUVRsLOzo2fPnowcOZJWrVoV0UgfbfJmJYTIL7PFQpLJxJ2YGLafv8Dv584RlZiY7/5eskTQ6YWBhEXd4/DJwxw5+QelUxIJcHOnvosLBhvb3ltQoJQvDpVqkuTpwyszP7Ae89DpmVqtGvp/zr1/lh4kqBdCFK0SH9Snt2fPHvr27cudO3cyPJ4+PadOnTp88MEH9Olje9c/kXfyZiWEyKvU3V6NnL11m21nz3IoNBTTfRMzAAbVggoYlZwLtjmrZoYqESy+EoZbcgIBbm40cnPDycY+JyqAeyns/Kpj8KuOxt4BrUaLXm8g2WJBZ7BH+SeQjzuwhaSzxwGwr9UI5+YZdz93dXJBY+MDA8jrpBCicJX4oN5kMvHLL7/w008/8fvvv5P+dmzdmqIotGjRgsWLF1OxYsWHNdRHmrxZCSFyw6KqpJhMxCUlcTA0jK1nz3Lx7t0s25Z2dqZZGW+and5JqNaROZpSqDbSZQAUVWWY+S5REdep7+KKZzaVa1QnNwwVq2Lwr4HWxQ2NRoNBb4+9vSN6e3sUbeZtXIyxUVwO+gwA/yFj0bm45+ne5XVSCFGYivXmU9k5c+YMc+fOZdGiRdy7dw/4d0ZeVVX0ej3du3dnyJAh/P3338ybN4/g4GBru3379tG6dWuOHz+Op6dnUd6KEEI88swWC0lGI7djY9l+7jzbz5+3mWJT29eXdtWr07BiBVKSEtm+fzXtPBVGWsJZovEkTsk86+6smnnJEkE9kuC+3Pc0qr0junJVsKtUHa2HN1qNgl5vwM7eEYO9I4pWZ/1WNyt6F3fc6gSAQp4DeiGEKGwlaqY+Pj6eZcuWZah+kz6QB6hSpQrDhw9n6NCheHt7Zzj/t99+Y8qUKezbtw9InbH/73//y6effvpwb+QRJDNQQjxekoxG9gRf5Mjly8QlJ+FsZ0+Anx+tq1XFPt3mgSn/VLE5f/sOW8+c4XBYWJYpNvY6HU0r+dOhenX8vLzQaVID9+i4KP43aZQ1nz0FhWOKI2cUe+LR4oSZ2moSjdQEDGR+O1N1BnRl/TH4VUfrXQ6tVotep8fO3gGDvSMavR4lF2k9aYyxUSjkL6iX10lREqSkpFCrVi2uXbvGxYsXqVChQlEP6aF69dVXmT17NnPnzuXll18u6uHkSbHbUTYrhw4dYvjw4ZQpU4aRI0dy+PBh606zADqdjl69evHbb78RHBzMu+++mymgB+jYsSN79uzhP//5j/WxdevWPbT7EEKIR8HB0FAGL1jIzB072HfpEn9eu86+S5eYuWMHgxcs5EBICAkpKYTHxbH1zFneX7eeDzdsYH9ISKaA3tvFhd4NG/L5C88zrHlzqpT2RqOAxWLEYkoiJTGeSJORfVGRABhQaabGM8xyjzctdxhmuUczNT5DQK9qNGjK+GHX9Clcug3CKbADDuUr4+LsiqeXD26lfHBw9UBrsMtTQA+ps/UyS180Jk6ciKIoKIqCk5MTN27csNk2LCzM2nbXrl2Zjrdt29Z6PKeftm3bZjrf398fRVEYMmRIpmNBQUEZzv/kk09yvLdRo0ZlOCerMQPExcUxa9Ys2rdvj4+PDwaDAU9PT2rVqkWnTp2YNGkSO3bswGw253hNW77++mtCQkIYPnx4jgH92bNnGT9+PC1atKBs2bLY2dnh5ORExYoVeeaZZ5g+fToXLlyweX7a86goCj169Mj2Wml///7+/pmOpf/7VhSFr776Ktu+0v7+s/r7Gz9+PAaDgQkTJhAfH59tP8VNsU2/CQ8PZ9GiRcydO5ezZ88CeZuVz87UqVP5/vvvSUxM5PLly4UyfiGEeBQdDA1lyqbNWGx8yRudlMSUzVsI9PfnzK1bRGeXYlOjBg3Ll7PO7JuMRlTVDKgEX77IrqN7OfjXYXSKwp3klAxFD+6nqirn4uPZHxXJsMFjcPIsjU6rw05vwODoiF5vj6Irtm95Io8SEhKYNGkSs2fPfqB+9Hp9jim4D5qiO3/+fMaNG2fzeHJyMkuXLs2xn5MnT/Lcc89x9epV62P29vaoqsr58+c5d+4c27ZtAyA0NDTL4DcnERERTJ06FTs7O9577z2b7WJjY3nttdf4+eefM6xfdHFxQVEUrl69ytWrV9m8eTPvv/8+Xbt2ZeHChdmWF//11185cOAAzZs3z/O47zdt2jRefvllXF1d83xuxYoVGTp0KLNnz+aLL77gww8/fODxPCzF7hVu69atzJ07l3Xr1mE0GoGMC151Oh3du3dn5MiRPPXUU/m6hr29PX5+fpw7d47k5NxvaCKEEI+zJKORr7bvsBnQp1FVNcsdYO11OgIrVaJ99WpU8PLCoNGSYjKSnJyIRlWJio1k99F97D62j9v37uCp19PZw5OWHh645BCQ74+KZOE/M7dvuLrj4eaF7p8Fr9nlyT9qLCYjakr+3tcUgx0ane3FxcXNvHnzeOedd6hevXq++2jevLnNWfGC4O/vz4ULF7INVteuXUtkZCT+/v6EhYVl2SY2NpZnnnmG69evU6pUKSZMmED//v0pXbo0kJqefPz4cTZs2MCiRYvyPd4ff/yRqKgoevXqRfny5bNsc+/ePVq1asXZs2dRFIU+ffowcuRImjVrhqNj6iZuycnJ/PHHH2zcuJE5c+awfv16bt26leOeQePGjWPPnj35Hn+a8PBwZsyYweTJk/N1floKzv/93//x7rvvYpeHXaaLUrEL6rt06ZJhl9gHnZW3paT8BQkhRHGxJ/gi0UlJeT7P28WFNtWq0rpKFdwcHUFVSTGmEG8xYzGlcPT0MXb9sZczIedQgJpOTvSsUJH6Li42N4dKz2ixsC5dKWMn91IYnF3yPM5HgTkxPrVCT17TL7Ra/IeMRVMCUosqVKiAh4cHJ0+eZPz48axataqoh2TT4MGDmTRpEvPmzbMZ1M+bNw+AIUOGMHHixCzbLFu2jOvXrwOwfv16AgMDMxx3cnKiVatWtGrVimnTpuVrrKqqMmfOHAAGDBhgs13fvn05e/Yser2e5cuX8/zzz2dqY2dnR8uWLWnZsiUTJkzgww8/RJfNB/Nnn32WTZs2sXfvXjZs2MBzzz2Xr3sAeO6559iwYQMzZ85k1KhR+Pj45LmPBg0aULduXU6dOsWqVat46aWX8j2eh6lY59Sn5cpv27Yt21z5/OjWrRuDBw9m0KBBBdKfEEI8yiwWC/svXczTOa729rzRpjXTu3Wla926OOl1JCbGk5gYx4VLp5m76idem/oW3y2fQ2jYBdp7ejGpajXG+FeigatrpoD+RlISF7LIcd0XGZlhEyglm1rxjzprhZ48cqsbUGLWCmg0Gj7++GMAVq9ezZEjR4p4RLYNGTIERVFYsWIFCQkJmY5fvXqV7du34+zsTK9evWz28+effwLg7e2dKaC/n06nyzaAtuX3338nJCQEd3d3unTpkmWbDRs2sH37diA1lTmrgP5+jo6OzJgxg6pVq9ps07hxY+v9v/fee5k2Es2LN954g4oVKxIfH5/vmXqA/v37A6nfXpQUxfKVr1KlSnz88cdcvXqVFStW5DvNJjuTJk1i/vz5zJ8/v8D7FkKIR4nRbOZmRDgHTx3P03k+Ls40qlABsymF+IQ4bt65zrrtv/DfGe8ydc5n7D1+gFIKDChTls9q1KRfmTL43vctqorCsehovggNZeKli8y9dg1jujd8o8XC5vCs69w/rtybtAUbm21lSavFo3HbwhpOoXjmmWdo06YNQLb56kXN39+ftm3bEhsbm+U3CkFBQVgsFvr06YOTk1OO/UVGRmb54aAgbNmyBYCmTZtiMBiybPPtt98CqesMRo8eXaDXnzZtGjqdjlOnTrF48eJ892NnZ8ekSZMAmDNnDpcuXcpXP61btwZg//79xMbG5ns8D1OxS7/Ztm1boQTxQgghci9tk6gkkwmTycyJazdQ7POW0mKv1RAZFc6JM8fZe3w/Fy6nzvRrgcaurrT19KK6rUDGYI/evzq6SrVorDfQQm+H3mBAp7cj4eguks+dAMClThPmjfggw6muTo9n6k2atNn66JMHc9W+JM3Sp/fpp58SGBjIzp072bJlC507dy7qIWXp5ZdfZufOncybNy9DdoCqqgQFBVnbZCcgIIDvvvsOo9HIsGHD+Pbbbwt8j520XPaAgKy/6TEajezduxeAp556CgcHhwK9frVq1Rg+fDg//PADH374IX379s13qvSgQYOYMWMGp0+f5v3332fZsmV57qNRo0bodDpMJhP79+8vtv++0it2Qb0E9EIIUXSMZjPJJhPJJhMpRhN7Qy6x5dRpbsTEoOjz9gYbe+08/9uxhMR/ih646XS09vCktYcHbjZ2e9V4lEZfuTaGitWwd3TGoDegN9ih0RtQdHoURcG1RWcuB58EwLf50+hc3B7sposBVVUxxURiMaUUSH+OVesQfeoIWHLIrddocaxSh+R7twrkugAanQGdq0ehL1Bu2rQpzz//PGvXruW9996jU6dOeb7mgQMH8PX1zbbNrFmz6Nu3b77H2bNnT0aNGsWePXsICQmhcuXKAOzatYuQkBCqV69OixYtbC6SBejXrx8zZszg1KlTLFu2jDVr1tCiRQsCAgJo1KgRgYGBD1RPPiUlhRMnUj8oP/HEE1m2uXz5srXEY4MGDfJ9rex89NFHLFy4kMuXL/Pdd98xZsyYfPWj0WiYPn063bt3Z8WKFYwdO5Ynn3wyT304ODhQo0YNTp8+zcGDByWoF0IIUfxZVJVko5FkkwmzRSUqIYEtZ8+y88IF4vJZIcxZNfOaJYZJqkoFR0faenrR0NUVbVZBl0aLrnxlDJXrYOdbHgc7e/Q6Axq9Ho3OkKkU5aO2s6uqWri5bgEJoece/sUtZm6u+anAu3WsVJMy3QbneR+AvJo+fTrr1q3jzz//ZOnSpbz44ot5Ot9oNHL79u1s2yTaKMuaWw4ODvTr148ff/yRoKAga553Wvrv0KFDc+zDzs6OHTt2MHr0aFasWEFKSgo7d+5k586d1ja1atVi5MiRvPbaa3me4b5z5461tn1aRZ373bt3z/p7dt8SPPvssxw7dizT43379mXWrFnZjsPX15cxY8Ywbdo0pk2bxrBhw/JVlhJS1062aNGC/fv3M27cOGu5z7woVaoUQLZ7IhQnxTKnXgghROFLMZuJTUoiMiGBhBQjF++G8+2e3by5ahXr//47U0DvopppbI5DyaGkpaKqvGSJ4FpiPG/5+fPfSpVp7OaWKaBXHF0w1G2C63OD8GrdFa/KNXFzccfeyRWdkwtae0ebteXdm7QtcXngtpgTE4omoC9ECaHnMCcWTu53ejVr1rQGxRMmTLCWws6tNm3aWDeztPWT1QZFeZU2xgULFmCxWIiJiWH16tVotdpcF+woXbo0y5YtIzQ0lFmzZtGnTx+qVKli/Xbi7NmzjBkzhmbNmmUIwHPj7t1/16U8aFrPvXv3uH37dqaf6OjoXJ0/duxYvLy8uHfvHp9//vkDjeXTTz8F4LfffrMu8M2LtOci/fNTnBW7oP77779Hq9Wi1Wrp2LFjvvp4+umnrX3IQlghhPiXRVVJTEkhKiGB2MQkkowmDoeFMWnTJj5Yv54DIaGY76s8Uc7dnd61qvGh8SpD1AhGWsJxVrNO63BWzYy0hFPXkkANJ2fK2dtnaqP1KY9js054dhuCd+P2eHqXxdHJGb2jM1pHZzQGuxwr2DxKO7tqHRxxrFSzqIdRoBwr1UTr4PhQrjVx4kQcHBwICQnhhx9+eCjXzKvAwEBq1arFlStX2L59O8uXLychIYFOnTpRtmzZPPXl5+fHm2++yfLly7l48SL37t1jyZIl1K1bF4ATJ07wyiuv5KnPpHSlam3N8nt5eVl/j4iIsNnXoUOHMnwoSlvQnFuurq6MHz8egC+//JJbt/KfGtaiRQu6du0KpC6oVnOYkLhf2rqBpHyU8i0KxS79JigoyFqjPrvdzLIzfvx4fv/9dyD1663cfLUlhBCPshSzmWSjkRSzGVRIMKaw8/x5fjt3nrtxcZnaK0CdsmVpX7061b1LEx8fzaHdkbTz9KKemshk8w2OKY6cUeyJR4sTZmqrSTRSEzCgwv1pNnoDBr/qOFR/AqfSvuh1digaBUWnT82X1+ShWssjRlE0lOk2pEBz6tOY4mO5+cv8zLn1Gi1legxFVwiLijU6A3q3gl3EmZ1y5coxevRoPvvsM6ZOnVps3/OHDh3K2LFjmT9/PqH/bM5WEGP18PDgxRdfpEePHjRu3JizZ8+ydu1aIiIicj3rnj5gj4yMzLKNn58fTk5OxMfHW0tsFpZRo0Yxa9Ysrly5wuTJk/nuu+/y3dfHH3/Mxo0bOXr0KCtXrqRPnz65Pjftw0v656c4K1ZBfUREBMeOHUNRFMqVK0f79u3z1U/btm2pWLEiV65c4dChQ0RHR+PmVvIXUgkhRF6YLRbroleLJXWG6mZsDNtOn2HvpUvWBazpGbRaAitVom21avi4OoPFAuYULl8PY8vdcFq6e6DXaDCg0kyNp5mauW58eho3L+yr1sW5aj3snVzQaDSg0WRY+CpAUZRCCYTtvHxxq5u5Eo5bvQCcKlYr8OsVlffee485c+Zw584dvvjiCwYPHlzUQ8pk4MCB1s2yjEYjXl5edOvWrcD6d3R0ZMCAAbz//vtYLBaCg4Np2rRprs5Nn0dvaxZer9fTqlUrtmzZwu+//05iYmKBV8BJY2dnx+TJkxkyZAhz5szhP//5T777qlOnDoMGDSIoKIgPPviAF154Idfnpj0XttYZFDfFKv3m2LFj1g0H2rVr90B9pX0gMJvNWS7YEEKIR0GS0ci2M2eZunkL4375hambt7Dp1CnC4+KISkgkMcWI0Wzm9M0bzNyxnbFr1rLt3LlMAb2HoyPd69dnateu9H2yIT5ODlhSkjl36QxfLZzFVwu+ItJkZF9U1rN46ZlVlYNRkehaPkPZ54fh3bAlji5uaA0GtPaO6BydU4N6Cegfikx160tgXfqcuLu7W+vVf/HFF9xJt8NwceHr60uXLl2sef8vvfSSzXrw+eXs7Gz9PS+LZT08PKxVgEJCQmy2GzVqFJAa7H799df5HGXuDBw4kLp162IymXj//fcfqK9JkyZhZ2dHcHCwddfc3Ej7RqVWrVoPdP2HpVjN1F+8+O9uhbZKKuVWWm5ZWr/5nfUXQoji6mBoKF9t30H0ffme+y5dwsXuEIMDm5JiMvHbufOE2lg45+/lRdtq1WhYvjwaBRTVjCklib+D/2br3i1cuvrvG3w1R0e89QZrimRWzKrK1EsXuZ6cTJfyVdDpDf/Oyj/GO70Wpfvr1pfUuvQ5efPNN/n666+5du0aU6dOLerhZGn8+PFUr14dgJEjR+b6vCNHjlC1atVs02lMJhNLliwBwMnJiRo1auRpbK1bt2bFihUcOXKE119/Pcs2zz33HB06dGD79u188MEHVKtWLVe7yuZHWlnKbt26sXLlSp599tl891WxYkVGjRrFzJkzmTx5MuXLl8/xnNDQUOsC2byuCygqxSqoT78y+kFXX6c/Pyoq6oH6EkKI4uZgaChTNm3GYmPhV2xyMt/s3pPlMUVRaFi+PG2rVaOSlxdgQTEbMZnNHD19lC17t3DjTmoJNy3QyM2Np7xK4Z+Lr9r3RERw/Z+qORo7e7SOzjIjXwy4N2lL9OkjAI/cLH0ae3t7Jk6cyPDhw1m/fn1RDydLgYGBBAYG5vm8FStWMHv2bHr37s0LL7xAs2bNrHneCQkJ7N69m+nTp3PkSOrf8WuvvZbn1Ji2bduyYsUKDh8+nG275cuX06pVK86ePUvPnj3p3bs3I0aMoHnz5jg6pi6ONplMnDlzhpUrVz5QtkTXrl1p2bIl+/btY8OGDfnuB+D9999n7ty53Lp1K1eLb9OeBx8fH2rWLBkL2YtVUJ/+a6gH3Qa5sLZRFkKIopZkNPLl9h02A3pbHPR6WlSuTKuqVfF0ckQ1m1FNKZhMRvaf2M9v+7cRHpU6o++o0dDKw5P2Xl54ZLFRVFaz9UaLhc3h/5Z+00jOfLHxqNX2t2XIkCHMmDGDc+dyVyI0N5tPAQ9UgaUg6PV64uLimD9/vrWqn6OjI3q9PlOpyIEDBzJ9+vQ8X6Nnz568/fbbnDt3juDgYKpVy3rNhZeXF4cPH+a1117j559/ZsWKFaxYsQIAFxcX9Ho9MTExmEwm6zndunWzVrTJq08//ZQWLVrk69z0PD09GTt2bK5TedatWwdA//79H/jaD0uxCurTivxD9jlduZH+/JKywEEIIXKiqiq/nTtHTB5KrLnY2dGlTh0C/Pyw0+uwmExYTCkkJyWy+4/dbD/4OzHxsQCU1hto7+VFC3d37LWZK9KoOj1KharoTEbMVy9mOOZcpzHzRnxg/bNrIVRWEfnn3qQtj/pHLK1Wy/Tp03O9GDI3m08VB9OnT6dHjx5s3bqVgwcPcu7cOW7fvk1cXBxubm74+/sTGBjIwIED8x0Ae3t706NHD1asWMGSJUuYOHGizbYuLi4sXryY8ePHs3jxYnbv3k1ISAgRERGYzWZ8fX2pU6cOLVq04MUXX6RKlSr5vHNo3rw53bp1swbZD+Ltt9/mm2++4ebNm9m2i4+P59dffwXyliZV1BQ1r0U7C9GBAwdo2bIliqJQo0YNzpw5k+++atWqxfnz51EUhe3bt9O2bduCG6jIxN3dHZBUJyEKi6qqJBmNJBqNfLVjJ0cuX871uQ3Kl2dos6aoZjMa1UJcQhy/H/yd3Ud2k5icultmVUdHnvLyooGLK5osZtcVJxccqtbDtVYj7J1dMcXFcG3Fd/+WStRq8R8y9pGeBX5Q8jopirs9e/bQpk0bqlSpQnBw8GP7TdvChQsZPHgw7dq1Y8eOHUU9nFwrVquWmjZtiqurK6qqcv78eevXOXm1fPlyzp8/D6R+PVUQX9vkR2xsLBMnTqRevXo4Ozvj5uZGkyZN+OKLL0hJefBaxLdu3WLChAk0atQIT09PHBwc8PPzo3PnznzyySd53llPCFH8qP9sFpW262uKycTtmNztzJgmPikJjEaiosJZtmkZ7818jy17t5CSnEgTVzfeq1SZsZUq86SrW6aAXuvlg1OzTvi+MBzvJu2wd3ZF0emwK51aKjHNo7r4Mk3U6dO5ekyIkqx169Y8/fTTXLp0iZUrVxb1cIqExWLhs88+A2DatGlFPJq8KVYz9QDDhg2z5ou5ubmxa9euPFXCOXHiBO3btyc6OhpFUXjppZdYuHBhYQ3XpsuXL9O2bVvCwsKA1A8XZrOZ5H8WkDVs2JDt27fj4eGRr/6XL1/OyJEjiYmJAVLXIzg4OGTIrYuMjLTODBU2mYESomCpqkqyyURCSgqqCmbVwvWIe6w9fpwj125k3twpG9XdnHGLuszBU39gsVhw0Gho6eFBB08vPLMqqaco6MpWwqFWQ1zK+WPQ24MCilaPxvDvRlHG2CguB6W++T3Ks/QXFywiZNFiqr8yAv/evQAIW7mKC7PnUHngAKoOHpirfuR1UpQEf//9Nw0aNKBWrVqcPHkydW+Jx8jy5cvp168fvXv3zvfkclEpdkH95cuXqVGjBkajEVVVcXR0ZNq0abzyyivYZ7HdeJqkpCR++OEHJkyYQEJCAqqqYjAYOHv2LJUqVXqId5BaG79hw4b8/ffflClThoULF/LUU09hsVhYuXIlI0aMIDY2li5durBp06Y8979y5Ur69euHxWKhb9++jBs3jgYNGgAQFxfHn3/+yZo1a5gyZQpOTk4FfHdZkzcrIQpGWjCfaDRisaiYVQu3Y2JY//cpDoRcwmTJ+0t2P1M4684fR6cotPfyoqW7R5b58ugN6P1q4FSzAU6lfNHrDKAoqSUp9XoUJfOb+90dv4ACpdv1yPvNlgBpAX2a6q+MAODC7H9rXec2sJfXSVFSBAUFERYWxogRIyhXrlxRD+ehWrx4MRcvXmTo0KH4+fkV9XDypNgF9QDfffcdb7zxBoqiWCssuLm50blzZxo3bkyZMmVwdnYmLi6OmzdvcvToUbZs2UJ0dHSGigxff/21zVqrhWnu3LkMHz4cSF0n0KxZswzHly5dyosvvgjA77//TocOHXLd982bN6lTpw6RkZGMGTOGmTNnFtzAH4C8WQnxYO4P5i2o3I2JYcPp0+y9eAmj2Xz/CbmarXdWzTwfcRYdKg1dbefLGyrXwal6PRxdPNHpdLne9dUYG4XCo1lRJer0aY68lbudLANmzcS9Tp1s28jrpBCiMBXLoB7go48+sm4ekTbE7N5Y0oL5tP9OnDiRCRMmPJSx3q9169bs3bvX5gILVVWpUqUKoaGhDBo0iAULFuS67/fee49PPvmE8uXLc+nSpQLfjS6/5M1KiPzJKpi/FxfHptOn2RV8kZR0ZeEAFOBJcxxVSWaFxhM1m9dFRVUZYb5LfbKulKPx8sGuSl0c/Wvg6OSKVqtF0WpR9AY0usxlLB9HaWk22UmflpMdeZ0UQhSmYlXSMr1JkybRpEkTXn/9da5du5bpeFY1klVVpWLFisyePZtOnTo9rKFmkJCQwP79+wHo0qVLlm0URaFz5858//33bNu2LU/9p60PGDBgQLEJ6IUQ+ZNWzSYtmI+Ij2fLmTPsvBBMUhYL3Zv4+dGmkh+hK2bRytMLd4uFJRpP4pTMqTTOqpmXLBHUuz+gVxR0Zf0xVK2PYxk/HBwd0Wq0KDpd6sy8tti+LTxUqtlMwu3bmJOSMXh4kBIZmWW73Ab0QghR2Ir1q/dzzz1H586d+fnnn1m5ciX79+/PMMORNoPv4eFBy5Yt6devH3369EGbVa7oQ3L27FksFgsAdevWtdku7ditW7eIiIjI1Q66oaGh3LiRustjmzZtOHHiBJ988gm7d+8mMjISb29vWrRowVtvvZUp5UcIUXwkm0wkpqRg/ieYj0pIYNvZc2w/f56ELCpjPVmhAs/UqYOvqyv3ou+x5W44Ld09qKdJZLL5BscUR84o9sSjxQkztdUkGqkJGEj3RazOgN6/OnZV6uHg5YODvQMarQZFp08N5jVF97pZXKgWCynRsdzZv49bu3YTefJv+Of1XAghirtiHdQD6HQ6Bg0axKBBg1BVlZs3b3Lv3j1iY2NxdnbGy8urWC3iSAu6gWzHlf7YjRs3chXUX7hwwfr7kSNHmDp1KkajEXt7exwcHLh27RrLly9nxYoVTJs2jffeey+fd5FRbiroREdH4+bmViDXE+JRdX8wH5OYyO/nzvPbuXPE/VMZK7365crxXJ06lHV3J8WUQlJyAphNRJqM7IuKpJ2nFwZUmqnxNFPjs7zmneRkStULwL1mQ+xdPbA32KPRarNd/Po4UVUVc1ISEcdPcHPnLsIPH8GcmJjr89NSc2S2XghR1Ip9UJ+eoiiULVuWsmXLFvVQbIqNjbX+7ujoaLNd+mPpz8lOZLqvfydNmkTZsmX56aef6NixIxqNhnPnzvHGG2+wfft2xo8fT61atejRo0feb0IIUaDSB/MqKrFJSew4f4GtZ89muTNsbV9futatSwVPT1JMRpKSEtAoEBxylrW/rQVg691wWnt4orWRU29RVRbduM6BqCgW9B2Fu2dpNGkpNjksfn3UqaqKxWgk9uIlbu7YwZ19B0gOD893fxdmz8G9dq0cF8oKIURhKlFB/ePOku5r4LTymIGBgdbHatasya+//kr16tW5ceMGEydOLJCgPjeLuh5WPXwhiqsko5E9wRc5cvkycclJONvZ82SF8jTy80OnaFBRiU9OZldwMJtPnyEqi9ng6t7edKtXD38vL1JMRhKT4tECIZeD+XXHr4ReCwWgsoMDfX3L2AzoAXZHRLD/n/93HRyd0Tk6PfaLXy0pKSTevcutnbu5vWcvcSEhNtva+/ri3aI5pvh4bmzZan286rChKFodwT9mLGkpAb0QoqhJUF/AXFxcrL8nJCTYbJf+WPpzctt3y5YtMwT0aZycnHj99df54IMP+Ouvv7h9+zY+Pj656l8IkT8HQ0P5avsOou+bdd936RIudnYMDAggJjmJzafPcC8+c5pM5VKl6FavHlVKlcJoNqUG84rClash/LLjFy5duQSAh07PCz4+NM3hQ7TRYmFz+F3rn7UOjo9MQB91+nSmADqrx9JYTCaMsbHcPXgoNU/+r5Oo95cH/YfO2ZlSTQPwbdsal6rVUBQFRavF4OFO2NLlGRbFKgp53nxKCCEKkwT1BSx9atD169epX79+lu2uX7+e5TnZSZ+HX6tWLZvt0h+7fPmyBPVCFKKDoaFM2bQZi43qwLHJyXy3d2+Wx/w8PelWrx7Vvb0xWUwkpSSiAa7fuMwv23/hQljqOhqDovB0qVJ0LlUaw327OyaazTjcVxxgX2QkUfeVwnwU5HZnV4vZjDkxkYiTf3N7127uHjqM2cYki6LT4fnEE/i0bonHk0+i1etRFNDY2aG1s0Oj11N92Mt4BzbN8MHBv3cvSbkRQhQrJSaoT9toKioqiqSkJPJSXr9169aFOLKMatWqhUajwWKxcOrUKZtlLU+dOgWAr69vrhbJAtSuXRutVovZbM6xZn+axzlvVojClmQ08tX2HTYDelvKu7vTtV49avv6YrKYSExOQKvAzZtX+WX7L5wLOWdt28TVjZ4+PnjeV8I2yWxmc3g4R6OjmFi1Gvp/gv37Z+kfFel3dk1fNz7t95BFi7GYjHg3b5aaXrN3H8l3bT8PLlWr4t2yBd4tmqF3cQVAo9elBvJ2dpleO7MK3iWgF0IUJ8U6qA8JCeG7775j8+bNnD9/Pk+BfBpFUTA9xBkrR0dHWrRowd69e9myZQv/+9//MrVRVZWtW1NzNJ9++ulc921vb0/r1q3ZuXMnZ86csdnu7NmzQOq9+/v75+0GhBC5tif4YqaUm+y42tvTr1Ej6pUpg0k1k/BPMH/3zg1+2f4Lpy+etrb1s3egbxlfqjo6ZepH9a2IffWG9PcszRA7e5KO7yE5+CQALnWaMG/EBxmv65S7FL/iKur0aWtAnyarDaHCli4nbOlym/3Ye3tTunkzfFu3wuGfb0gVrcYayGuKsByyEEI8qGIZ1KuqyuTJk5k2bRrmf3Ifi+nGt1kaPHgwe/fuZefOnRw+fJimTZtmOL5y5UpC/lmgNWjQoDz1PXToUHbu3Mm+ffs4ePBgpnr0CQkJfP/99wA0bdqU0qVLP8CdCCFsUVWVg6GheTqnSqlS1Pb1IdGYhAaVe3dvsm7nOk6eP2lt46bT8by3D809PDKdr/EojUO9QJzLV8HewRFFo0FjZ4+59bNcDkn9QODb/Gl0Lo9WeVn3OnWo/sqIHHd2zYrOyQmvJo3xbd0Sl5qp36QqCmgMhtRgXjbxE0I8IoplgeJRo0YxefJk6wz7/ekktlJK0o4VdcrJ4MGDqVevHqqq0rNnT7Zv3w78W7FmxIgRQOqOsx06dMhw7sSJE633EBYWlqnvl156iYCAAAD69u3L1q1brVVxzp07R7du3bhx4wYajYZp06YV4l0K8fgyms1EJiQQEReXp/NikhIxGZOICL/FvJVzmPrDVGtAr1MUupQqzdRq1TMF9Iq9I/ZPtsarUz+8qtbFwckJrZ09WkdnNDo9ehd33OoE4FY3AJ2Le0HdZrHi16snVV8emqu2ik6HZ8MG1HxjFE2//4Yar76CW+066Ax6dE5OGDw80Lu4SEAvhHikFLuZ+nXr1vHDDz9YA3N3d3dGjx7NU089ha+vL9WrV7emlezYsYOoqChCQkLYvn07ixYtIi4uDq1Wy5QpU+jfv3+R3INOp2PdunW0a9eOsLAwnnrqKRwdHbFYLCT981V9w4YNWbJkSZ771mg0/Prrr3To0IEzZ87QuXNnHBwcMBgMREdHA6DX6/n2229p3759gd6XEI87VVVJMBpJSjESHRfN2dDzaJxztyYGQGM2smDNfI6fPo6abrfXJ11d6eXrSyn9fUGmRouhal1c6zfFwcUTrVaLotOhMdij3Ldg1r1JWx7FFTQWkwlzUjIx589xa9fubNs6V66Md4tmeDdvhsEj9e9F0SipM/L29pJeI4R4pBW7oD797HLNmjX57bffstyZVafTWfPFGzRowAsvvMCUKVMYPnw4v/zyC++//z6KovDuu+8+rKFn4O/vz8mTJ5kxYwZr1qwhNDQUvV5PnTp16N+/P6NHj8aQz1kiX19fjh8/zjfffMPy5cu5cOECiYmJ+Pv70759e8aMGUPdunUL+I6EeLylmM3EJydjsajcio1h/v4DeQroAc7+tQ9L5DXrn8vb29O/TFmqZbFRna5cJVwatsS5VFm0Ol1qqo3BHkWX9cu2/hGaoVdVFUtKCqb4BO4eOcL1TVuIzmYdUZrSzQIp/+yzAGgN+tRAXv94b7QlhHh8KGoxSla/deuWtbyjRqPhxIkT1KtXL0Ob1HxIhSpVqnDhwoVMfaiqSp8+fVi9ejVarZYdO3bQqlWrhzL+x1na5lO52ahKiJLEoqokpKSQbDRhNJtY9/ffbPj7FCk2ap3bohqTMZ7dCaoFF62W533L0MLdPdPsusbNC+eGrXDzr4ZWZwBFQWOwQ3P/LP4jSDWbMSclkRwZya0du7i+ZStJd+7kqY9Gn32CZ4MnMn2TURzI62TBUFWVVatW8fPPP3P8+HHu3LmDVqvFx8eHMmXKEBAQQKtWrejQoQOurq5Z9pGcnMySJUvYvHkzx44d4+7du6SkpODp6Unt2rVp164dL730EpUqVcpxPAEBAfzxxx8AzJkzh+HDh2fbPiwsLMt+NRoNLi4uVK1alQ4dOjBq1CgqVqxos5+2bduye3f2314BtGnThl27duXYTpR8xSqoX7t2LT179kRRFDp06MC2bdsytUkL6itXrkxwcHCW/URERFClShViYmJo1qwZ+/btK+yhP/bkzUo8ipJNJuKTk1FV+PP6NRYePsztmNiMjcwm0GhTdyOyRVXRXTmBIS6c5u4ePOvjw/1bQSl2DjjWbYpbnScxGBxSH9Pr0RjsUJTiF6AWJEtKCuakJOKuXuPGlm3c2rUTc2L2VYUqvfQiiqIQsvjfNMbivhGUvE4+uKioKHr06JEhmNXpdLi6uhITE5Oh2t38+fMZMmRIpj42bNjAq6++mmG/GDs7OxwcHIiOjrau49NqtYwcOZLvvvvO5nhOnTqVYfIxMDCQgwcPZnsP6YN6V1dXHBxS/383Go1ERERY2zk5ObFy5UqbpbHTgnq9Xp9taezmzZuzZs2abMckHg3FKv3m5s2b1t9zqi2fnJxs85inpyfdu3dn4cKFHDx4kMuXL+Pn51dg4xRCPNrMFgsJKSmkmMyEx8ex6PARjl65kqldU0scPdQowix2LNF4Eqdkztl2Vs28ZImgXrlSqGqpzLG/RoN9tXp4NGiJwdnNuoupxs4eRfPo5oCrFgvm5GRMiYlEnTrD9c2buXf0GGQxz2Tw9MC3XVvMiUlc37SZygNeokL3rmjtHdA6OhL8o+zs+rgYNGgQu3fvRqvV8vbbb/PKK69QpUoVNBoNJpOJM2fOsGXLFn7++ecsz589ezavv/46FouFChUqMG7cOLp27UqFChWA1MD60KFDLF++nJ9++omff/4526B+7ty5AAwZMoTVq1dz6NAhzpw5Q+3atXN1P7NmzcrwwSMhIYEVK1YwZswYoqKi6N+/PyEhITkG7TITL6CYBfXpZy9s7bJqb29PUlIS8VlstZ5eo0aNWLhwIQBHjx6VoF4IkStJRiPxKSmYzBY2nj7Fr3+dJPm+vS4qeHjQQ5dEjZupgX49NZHJ5hscUxw5o9gTjxYnzNRWk2ikJmD4Z1Hs/QG9vmwlPJq0wcGrTGq6iEaTmmqju38e/9FhMRpTg/m4OG7vP8j1TZuJv3w5y7bOVSpTpkMHvAMD0Dg4oigK3s2b4dmwARqDAUVRqNSnFx51ZGfX7CQZjewJvsiRy5eJS07C2c6eAD8/Wlerir2+5PxbCw4OZv369QBMnTqVcePGZTiu0+moX78+9evXZ+zYsSQmJmY4vn//ft544w0sFgutW7dm3bp1uLllLP+q1+tp1aoVrVq1YuzYsbz++us2x5OSksLixan7J7z66qsABAUFMW/ePGbMmJGve3R0dGTIkCFotVoGDRpEdHQ0q1atYuTIkfnqTzxeilVQb29vb/3dVlaQq6srSUlJREVFkZycjJ2dnc12adJ/AyCEEFkxWyzEJSdjMls4ffMGQYcOc+OfilJpHPR6utarR4vKlYkLv47x+lnrTq4GVJqp8TRTs59wANC6eeLeuC3OFaqlLnxVQKO3Q9EbHslFnaqqYklOxpyURFJ4BDd//50b237DGBOTqa2i0eDZqBFlO3bArVZN61oCjV6PzsGe0oFNM50jAb1tB0ND+Wr7jkybpO27dIm5Bw7wdof2NMtF3nhx8Oeff1p/7969e47t09Ja0rzzzjuYTCa8vb1ZvXp1poD+fhUrVmTdunU2j//666+Eh4dTo0YNmjZtSmJiIkFBQSxcuJCPP/4Y/QN8YOrcubP199OnT2fTUoh/FaugvlSpUtbf7927l2Wb8uXLc+efhVOnTp2iUaNGWba7deuW9fe4PNaSFkI8PlRVJcloJMFoJCo+gUVHjnAoiz0imvr7071ePVwc7DGbjFj0duyLiqSdp1fuL2aww+2J5rjWehKtIXUSQ9Hp0dg9mnnzFrMZc2ISlpRkYkNCubZpM3cPHETNYpdvnZMT3q1aUfapdjj4+qL8822F1s6A9p8qNiJvDoaGMmXTZiw2Jsmik5KYsmkzHz7ThcASEtinuXbtGrVq1cp1+z/++IPDhw8DMHr06AzxRnY02Sy4Tku9SdtEsk2bNvj7+xMWFsb69et54YUXcj2+7JjzuChfPL6K1btI9erVrb+fOnUqyzbpF6Rs3brVZl+bN2+2/u7llYc3XSHEY8NkNhOdlERsUjKbTp3mnbVrMwX0Zd3ceLtdOwYGBOBqb0A1pRATE8GCtUFsuRuO8Z/N37Kjqiq7Iu7h3Kkv7vUD0RrsUbRatA5OaO0dSmRAH5XF7GHU6dOoqoo5JYWU6BiS70Vwe+9e/vxoEsfHjefOnr2ZAnqHMmWo/NKLNPriM6oMegnH8hXQ6PVo7e0xeLinbhIlAX2eJRmNfLV9h82APo1FVfly+45MKWbFUZMmTazfZL3zzjtZVsCzJW0TSIDnn3/+gcdy9epVfvvtNxRFYcCAAUDqBpgDB6au65g3b94D9Z8+hqlcufID9SUeH8Vqpr5+/fro9XpMJhMHDhzIsk3nzp1ZsGABqqoya9Yshg4dSpkyZTK0WbRoEXv27LH+2dZsvhDi8ZR+E6nzt28z7+BBrt1XkcROp+PZOnVoU60aOq0GzEZMJhP7ju1l9W9rSEpOTWfIzWz94ehofr55kx5Obiia1EWwJTlv/uKCRYQsWkz1V0bg37sXAKHLVxI85yf8evekXJcu3NqZWpIy+e7dLPtwr1uXMh3a4VG/PlrH1A82ikZBa2+P1j7z5lqPOlVVuR0bS5LRWCD9HQgJyZRyY0t0UhKrT5ygeQEFj/Z6PT4uLgWeSubv78/w4cOZM2cOf//9NzVr1qRBgwY0a9aMRo0aERAQQJ06dbK8bloKi52dXZ5m+G2ZP38+FouF9u3bZyg7OWjQIKZMmcKWLVu4fv16lvvsZCchIYGVK1fy9ttvW8eb00aaBw4cwNfXN8tjbm5unD9/Pk9jECVXsQrqHR0dCQgIYP/+/YSGhnL8+HGefPLJDG26du2Kp6cnkZGR3L17l0aNGvH222/zxBNPkJSUxIYNGwgKCrL+T129evVMfQghHl8pZjMJyclExCew5Ogf7L8UkqlN44oV6fHEE3g4OqBBxWJK5lb4HRavW8T5sH9nBxUgMsWIqqo2AxijxcKa26npgBq9Aa2jc4nOm08L6AEuzJ6DajZjMZq4tCC1MMHllau5suYX1CxSBjQGA6WbBeLboR3OFf3+STtSULSa1Eo29nYl+rnJL4uqMnHDRo7YWDD8MCw8fISFh48UWH8Bfn5MfO5ZNAX89/ndd9/h6+vLzJkziY+P58SJE5w4ccJ63Nvbm5deeol3330XHx8f6+NpKb3u7u7ZptTkhqqqzJ8/H/g39SZN1apVad68OQcOHGDBggWMHz8+277eeust64Lf+0ta6vV6FixYkGni8n5Go5Hbt29neSwplx/sxKOhWAX1kLr4Zf/+/QB8++231py1NI6OjkyfPp1XX30VRVG4desW7733XoY2aYtsFUXhs88+ezgDF0IUC7YqfbSsWgWLqpKYnMLv58+z8sRxElIyzor6urrSu2FDavj6oNdoMJtSSE5JYceh3/l1x3qMpn/bV7S356UyZamUxW6w6e2LjCTqn9SG1JrzJTdojTp92hrQpwn+KXOawf0BvcHTA982bfFu1QJ7L0+Uf54HjU6L1sHBWsnmcRWTmFikAX1hOHL5MjGJibjn8P9HXul0OiZPnsw777zD+vXr2b17N3/88Qdnz54lJSWFO3fu8OWXX7Jo0SI2btxIQEAAkDEueFDbt28nLCwMJycnevbsmen44MGDOXDgAPPnz+e9997L9poxMTHEZLFgvGLFimzdupWaNWvmOB7ZXEqkKXZBfb9+/axfk2m1WlJSUjAYMu6kOHLkSIKDg/niiy9s9qMoCp9//jldu3Yt1PEKIYqP7Cp9zNm/n2fr1uVAaChX0s2GARi0WrrUrk276tVxMOhRVAspyYlcu32NBb8s4PKNf2vUO2g09ClfgeYuLpl2g81Eo+X5Vz+gt6sHAK5OLgVxm0XGrVYtqr48hIvzgnLV3rlKZXzbtaNU4yfROTllqmSjMTz6u+TmhquDAwF+fo9UYB/g54frfdVnCpKbmxsDBgyw5rMnJSWxb98+/u///o/169cTHh5Oz549CQ4Oxt7e3rowNjIyEovF8kCz9Wn58s8//zzOzs6Zjvft25e33nqLixcvsmfPHtq0aWOzr/QbZMXExHD8+HE++OAD9u/fz9ChQ/ntt9+yvIYQWSlWO8rm1W+//cbMmTPZtWuXdTMqR0dHnnrqKcaNG0dgYGARj/DxITsliqKWU6UPWxqWL88LDRpQytkZO41CkjGZ5OQkNu/ZxOa9WzCnWwjbxNWNARUq4kDGa2icXDG4eZJ0IyzD425PNKN0ux75vaViw1rFJjkJY3wC577+hogTf2bdWFHwatwY33btcKteJTU/XirZANm/ThZGTn1e0mkGNQ0o0Jx633RlpR+2IUOGsGDBAiB1p/oePXrwySefWL/VP3XqFHXyWQY1MjKSsmXL5jqtZeDAgdY9c9Kk31E2q11vExISCAgI4PTp0wwePJigoKAs+07bUVZm6kWaYjdTnxcdO3akY8eOqKrKvXv3UFUVLy+vB86XE0KULLmt9JGet7MzvZ58kjply+Cg02E2mYhPSuTytVDmrZ3PrfB/c1S9DQaGVvSjip0dpA/oNRqcaz2Je8OWYDJzbcV3YPkn9USrxaNx24K5wSJiSUnBlJiExWgkKTyc6xs3cWvnLszZBDTlunTGr9cL/yx21aIooLGzR+tgj0b76O6Q+6AURSnQQNjX1ZVf/zqZq8Wybg4O9GzYEDtdiQ4JrEaOHGkN6tMWiXbo0MF6fO3atfkO6pcsWZKnPPXVq1fzzTffZNg7JyeOjo58/fXXtG/fngULFjBy5EiaN2+en+GKx8wjEf0qikKpUqUoXbq0BPRCPIb2BF/MdaUPgCfKlWN85040qlAeR52WxKQE4hJiWLVpGdPnfGIN6PWKQndvHyZVq/5PQP8vvXc5fLsNxiuwIzp7J/RuHrjWaWw97lY3AJ2Le4Hc38OkqirmpCSSI6NIiYkl+sIFzs76P468+TbXN2/JNqAHuL5pM7d27EKj06FzdMDg4YHe2UkC+ofMXq/n7Q7tc1yoqlEUxrRv98gE9ECGdJW0DSqbNGliza//5ptvCA8Pz1VflvtK1qat83vrrbeIjY21+RMdHU3p0qVJSEhg6dKleb6Hdu3aWdN23n333TyfLx5PxSoCPn36NJMnT2by5MnZ5ssLIUR6ec1F1mk1eDg6YjYbSUxK4MKl00z4vw/57fBOa5u6zs5MrVGTZ0uXJn04qtg54NG8M2WeGYB9qbKpJSrtHdA6OOER0B602hI5S69aLJgSEkiJjCQlJpbwI3/w16TJnHjvfe4ePAS5qMefJmTxEhJu3ETn6PjYlaYsTppVqsSHz3TBLd1u7em5OTiUqI2nQkNDc1WbPm2WHshQ/W7GjBlotVpu375Nz549ib5vx+j7Xbt2jR49elj/fPz4ceuutv3798fZ2dnmj6urq3XzqfsLfuTW+++/D8C+ffv47bff8tWHeLwUq4/m27ZtY+LEiSiKkinHTAghbIlLzlvZtoSUFBIS40hJSmDxhmXs//Og9Zi7Tkf/smVp6HL/1+UKDlXr4hXQHp2jMyig0duh6P+t3KJ3ccetTgAolJhZeovJhDkpCUtyMubkFG7v3cu1DZtIvHkzc2NFwd7Xl6R0xyq99CKKohCyeIn1scoDB+BRN3/pDaJgBVaqxMIhg9l9IZg/rlwmNikJF3t7mlT0o031aiVqhv706dN0796dzp0707dvX1q3bo2/vz+QWtbx1KlT/N///Z81Bz0gIICWLVtaz2/VqhWzZs1i9OjR7Nmzh/r16zNu3Di6du1K+fLlrf388ccfrFixgh9//DFDoY604LxixYo0bdo0x/H26dOH2bNn88cff3Dq1Cnq1q2bp/vt2LEjTZo04Y8//mDChAl07NgxT+eLx0+x+r/ZmG6BUIMGDYpuIEKIEsNisaDLY5k6B52WP08fI2jdYmLj44DUry3be3nRw8cXw339aT1K4Rn4NI5l/VPrqut0qeUpNZlTStybtM25Kk4xYE5JSV38ajRijI3lxtat3Nj6G8bY2ExtNXZ2eDdvjk+7tjiW8eHaps1cXfsrlQe8RMXne6BzsEfn5MiF2XOoPHAAVQcPfPg3JGyy0+l4unYtnq794JsuFSW9Xo/FYmHTpk1s2rQJAIPBgLOzM5GRkaSv+/Hkk0+ydu3aTCm5o0aNonz58rz22mtcuXKF119/nddffx17e3scHByIioqy9qPT6XjllVeA1Oo6P//8MwC9e/fO1XjbtGmDt7c3d+7cYe7cuXz55Zd5vufx48fz/PPPc/jwYTZu3Mizzz6b5z7E46NYBfXpN1hwcnIqwpEIIUoCi6pyPfwOh/86hNazfK7Pu37xJIfO/1sZpLKDAwPLlafcfXnz6A241G+GR72mqTvAajRoDHbZ7garL8Yz9Kn58smYk5JQzWYSbt7k+oaN3N6zF0sWVVf07m74tm2Ld8uW2Lm7WivZVOrbl9JNmuDZsIG1ko1/7164166Fez4XIAqRk06dOhEcHMymTZvYt28fp06d4tq1a0RFReHo6EjZsmVp2LAhL7zwAr1797a5xq579+506tSJxYsXs3nzZo4fP87du3eJj4/H29ubunXr0r59ewYOHEiFChWA1AWvaVWL+vTpk6vxarVaXnjhBX744QcWL17Mp59+mqlEd066d+9O3bp1OXXqFB9++KEE9SJbxaqk5f79+2nVqhWKojBx4kQmTJhQ1EMSuSQlLcXDZjKbuRsXx3e7d/PHlau5Pk81JmM8uxNUC05aLS/4+NDKwzNTO0OFang2ewp7V88sU21KEtVsxpyUhDk5GdWiEn3+HFfXbSDi+AnI4i3AsVw5fDt0oFSTRuicHO+rZGOXumGULHzNM3mdFEIUpmIV1KuqSvny5bl16xZNmzblwIEDRT0kkUvyZiUepiSjkfN37jBrxw5uRGfejdEmVUV35QTa2Ls0cHHhBd8yON0XnGqc3XBv2gEX/5rpUm3si+2Cz6jTpzPNjqc9ZjEa/wnmU1AtFsKPHOHa+o3EXrqUZV9utWvh274D7nVqorOzR2OfmmKkaBS0/wTzxfV5KAnkdVIIUZiKVfqNoii8/vrrTJgwQfLHhBCZqKpKfEoK28+dZ+7Bg6SYTNZjTqqZNpZY9mhciFMyzyI7q2ZeskRQr1wpVNUr84y7RotD7cZ4NWyFzs4ONBq0BnuUYryQ8OKCRYQsWkz1V0bg37sXAGErV3Fh9hz8+vTC74UXMCclcWvHDq5t3kry3buZ+lC0WryaNKZM+w44+ZVHa2ePxs4u9QONVoPW3j51pr4EfkMhhBCPk2I1Uw9gNptp1aoVhw4dwsXFhZUrV/L0008X9bBEDmQGShQ2s8XCvfh4gg4eYsd9Ze381WSGmcPxwEwKCscUR84o9sSjxQkztdUkGqkJGMj65U7nWwHPZp1w9PIBRUnNm9fnLff1YUsL6NNUGzkC1WTk4rwg62Ou1auRcP0Gpvj4TOdrHRzwbtUS37ZtsfPyRGdvh2JIC+a16Bz+De5FwZDXSSFEYSp2QT1AbGwsQ4YMYe3atSiKQvfu3RkyZAjNmzenVKlSRT08kQV5sxKFKcVkIvjuXf5v5y4uR0RkONayQlm6XzqAQz7SQhQHJ5wbtcGj+hNoNBoUnf6fQLZ4p5hEnT7Nkbf+k69z7by88G3XjtLNm6F3cUJrb2/9AKPR69A6OKDN42I+kTvyOimEKEzFLqivXLmy9fewsDCADDNFLi4uuLq6osvlV+KKonDJRv6oKDjyZiUKg6qqJBiN7LkQzI/795OYrkKLvV7PwIAm1PUpzZ4fJtLO0yv3/SoK9tXq49G4DfaOLigaDRo7exRt8U21uV/oilUE/zgn1+2d/P0o06EDng0aoHOws1ayAdAa9KmLX/W2q/qIByevk0KIwlTs3sHCwsKsQXz6YD7ts0dMTAwxMTkvjFMUBVVV5atjIUoos8VCVEICiw4fYcvZsxmOlXd3Z2SLFviX8iI2LoYtd8Np6e6BPhez9ZcSEqj57Ev4Vq6VGsyXgFSb+5mTkijbsQPmhIQMmz5lxeOJ+vi2b49rtapo7e2kko0QQjyiil1QD1AQXx4Usy8ghBB5kGI2ExYezqydu7gUHp7hWIvKlXkpoAlu9g5YLGbMxmQiTUb2RUXmOFt/Ji6Ory6HscKnPBqDIXUDqWKeapOeOTkZU0IiqtlMbMglbm7fYbOtcyV/Kg8ciGMZX7R2dv9WslH4d/GrBPNCCPHIKHZB/UcffVTUQxBCFKHElBQOhITy/d69xCUnWx83aLX0b9yYtjWqY9BoMVtMWFKSWbdzPQBb7obTysPT5u6yJouFoOvXANDaO6K1cyj8mykg5pQUzAkJWExm4q5c4fLyFdw7djzbc+JCw4g5fx63WjVQFI1UshFCiEecBPVCiGLBoqrEJCay9Ogxfj15MsMxX1dXRrZoQVXv0mgVDRZzCrExkcz6+XtOXTyDBmjj6UF28857IyOJ+qcEZkmZobakpGBKTMRiNBF/4waXV6wk/PCRLDeMykrY8hW416uLV4MnpJKNEEI84opdUC+EePyYzGauREby9a7dnL11K8OxJn5+DA5sioeDI6BiMacQHHaBmYu+JiI6Eg+dnuHly1PNyclm/0aLhc3hmWu0F1cWoxFTQiIWo5HE27e5vHIVd/YfyDaYr9irJxq9jrCly62PVXqxP96BTR/GkIUQQhQxCeqFEEUqyWjkyOXLfLtrN9FJSdbHdRoNfZ5syFO1amGn1YGqYjEls/XA7yxYvwSz2Ux9ZxeGlCuHc7pqWCpw/3y0S50mzBvxgfXPrk4uhXxX+WMxmTDFJ2AxGkkKv8eV1au5vXsPqsWSoZ2i0+HTujUoCre2b8e/f18qdu8OgNZgx6UFC6k8cABVBw8sitsQQghRBIpdSUtRMkmpNpFXqqoSm5zMymPHWfXnnxkWt5dydmZkixbU9PVBq2hQUElMiGH2qvnsO3EAraLwgrcPHe/bt0JxcsWxURvi920Cizn1Qa0W/yFj0bm4P8S7yxvL/7N35+FVVff+x9/77DMPyclE5hlCSJhnRBQEQUTrLBQHqq2t1dp77XQ73Pba297b1tZf1dZ61TqDE3VWBhVBEWWUKQkkQCamMIXMwxn2/v0RckjIQBIy8309j0/P3nvtfVZae84nK2t9l9+Pv7oav8dL/enTFL/1NiVr16E32TEXGqYNDZl+CdHz5mEND8VotVJZWEzw8DQMJhNGe0NZyrLsbNyZmX3004i2yOekEKInyUi9EKLX+TWNw+Xl/H3dZ+w6fLjZtbFxcdw1bSrhDicooOoaxUeLeOSlv3Gw5BDhJhP3xMWTbLc3u88Yn4p72lU4goJRTx+nYvcmAIJHTu63gV7z+/HX1OCv9+CtqKD4nXc5+vEnaE3q8QNgMBAxdQqx8+djHRKO0WrFYLECEDIyMxDmG0mgF0KIi4+EeiFEj6jzevl83342FxVRVV+H02JlcmIi05KTyC4p4fG16yitqQm0NygKN44dw9UjR2JRjRgUUDQfG3Z8xT9ef4ba+jrGBwWxJCYWW9OFrqoR27hLcWdOxGqxYbDaCJl8BRU5WwEImTizl3/y89P9fny1tfjr6vFWVXHovfc5vPojtCbVfgBQFMInTSL26vnYoiNRLdbAgleDyYjRbpcNo4QQQgD9MNRfccUV3fo8RVFYs2ZNtz5TCNG+rwoKeHTNp83myAN8ceAAFqMRr89H01niIXY737nkEkbFxqAqBoyqgreulqUfvsZ7n63AqCgsjo5m5jl16A0uN85LryY4OgGTxYZibgi8Jpeb4MzJoNCvRul1TWtYAFtfh7e6hsMfruDQipX4a2tbtA0dP57Yq+fjiItBtdqah3mbDYN5YG2YJYQQomf1uzn1BoOh28quNe4o6/f7u+V5om0yV1Q0+qqggN+tWInWwY+WjKgo7rl0OkOcLlDAbDBw/ORR/rr0CXLy9xJpNvPd+Hjirc3rypuS0nFPvRK7Mwij1Y5ibD5G4a0sQ6F/hHpd0/DX1uKvq8NXV8+RVas4+P4H+KqqW7QNGT2K2AULcCbGNw/zRhXVbkeVMD9gyeekEKIn9buReujabrCNvwj0s99RhLio1Hm9PLrm0w4H+gWZmdw4fhxW1YhqUDAqsGPvDv768t85XVnG1GA3i6OjsTadbmM0YZtwOSEjxmGx2DBYbCiGlrvCmno5zLe2OPX07ixcqSkNgb7ew5GPP+bgu+/jrahocX9wxgjiFizAlZosYV4IIUSn9btQv2TJkk61r6mp4dixY3z99ddUVVUBDaP9N910E/ZzFtIJIXrW5/v2t5hy057o4GCsqhGzUUX3eXhz7fss/eB1VF1jSUws00NCmrU3BIfhvHQ+wZFxmKx2DGZLd/8IXbL/xZfJf3kpad+7h6RbbkbXdQpefY39z71A/A3XYwlxU/z2O3hOl7W41zVsGHHXXkNw2tCGOfNndnxVVBWj3YZq6R8/oxBCiP6t34X6559/vkv3+Xw+3njjDX7xi19w8OBB9u3bx7vvvkt8fHw391AI0ZbNRUWdar/7yBGuHplBRflp/vb6U3y1czOxFgv3xMUTY7U2a2tKzcQ9eTYOZxCq1Yai9o+Pr8ZAD5D31DNoXh+a10P+y8sAOPj2O63e50xJJu6aawhOH94wR95qQVEMEuaFEEJ0Sb+bU3+hTp8+zRVXXMGuXbtIT09n69at2Gy2898oLojMFRUAP3/nHXYcOnz+hmeMionhjlHD+PMLj3H4+BEuDQlhUVQ05qbTaUxm7JOuwJ02GovVhsFiRVFaTrfpC2XZ2Wz+tx916h57fDxx11xDyKjMhtKUNuuZMG/AaLOhnvPLjBg85HNSCNGTBl2oBzhw4ACZmZl4vV7uv/9+Hn/88b7u0qAnX1ZC0zR+++GHbCoq7vA9qUEOCja9Dz4Pt8fEMDnY3ey6IXQIrkuvJigiCpPVgcHU/+aVF7z2Ovv++dx529liYohbsIDQcWNaDfONc+jF4CWfk0KInjQoQz3ALbfcwptvvonT6eTo0aM4HI6+7tKgJl9WoqyynJt/9zOMCaM7fI+veBdxtSf5blw8Q86ZbmJOG4N70kzsjjPTbQxqG0/pG7rfj+/MxlEFr77GwXffa7Wd0ekk8ZZbCJ84HtVmQ7VaUAwqimpAtZ45ljB/UZDPSSFET+off8PuAZdccgkA1dXVrF27to97I8Tgpvm81FZVYLIHdfwmXz1z1Hp+npzSPNCbLdhnLCD8knk4gkJQbY5+Feh1TcNXXY2nrIz602UceOklDr73fpvtY66cQ+SM6ZhD3A2bRRmNGB0OzG43RptVAr0QQohu0T9WmvWAkCZVM4qLOz4dQAjRebUVZbzwr1fQw5M61F7Rdb6rVDAqMrLZeTU8Gtf0+QSFR2G02TEY+89uqbqu46+rw19bi+bzc3TNGgrf+Be+ysp27yt++x2MDgfx37jmzEi9BHkhhBDdb9CG+uPHjwdeV57nS1cI0XV1Xi//2LaTzxRn4JxJ1zACta0saHXqfm7TShmlN99F1ZwxAfe4GTicQW3Wnu8r/vp6fDU16H6N07t3ceDFpdQcOtTh+/OXLiNs4gRCRmaev7EQQgjRBYM21L/99tuB1xEREX3YEyEGr1qPh0fXruOzffsC52y6xn3+48TiZZtiJ0exUo2KAz8Zeh0T9BrMnF3Ko1hs2KfNxZ00HIvd2W9qzwNoHg++mho0n5+ao0fIf2kZpdu3t3tP8jcXoqhG8pcuC5xLueN2CfRCCCF61KAM9X/84x/ZtGlT4Hjy5Ml92BshBqdaj4dH1nzKFwcOBM6ZNB8/0E6SiAeAaXo10/TqNp+hh0XhvuwagsKGYLI6UIz94yNJ8/vxV1fj93jxVldT/K83OfLRx+h+f7N21iFDSLjxRqqLizi8YiXJty0m/tprUK0WVLuNfU//k5Q7bmfokjv66CcRQghxsRgU1W/q6uo4fPgwmzZt4p///CefffZZ4Nro0aPZfp6RNXHhpKrDxaXG4+HPH3/CVwUFgXN2kwlt73r+EB+F6TxTZ3RdZ+XJE9x4zy+IjorrN7Xndb8fX20t/rp6dE3j6McfU/ivN/FVVjVrp9psxF49n8jLL8fksKHa7VTk7SckcwRGhwODqWEtQFl2Nu5MGaEXDeRzUgjRk/rHsFgTqto9VS50XcdkMkmNeiG6WXV9PX/86GO2NNk91mmxcN8lU/n91nf5oszCrNCwdp/xdUUF7xw/zu1BIahWe093+bx0XcdfW4u/thZdh9O7dnHgpZepOXcjLUVhyIxLiVuwAEtIMEa7HcVoQjEohE8Y12LjKAn0Qggheku/C/W6rqMoCl35A0JjRQld1wkKCuK5555jxowZ3d1FIS5aVfX1/GHVarYdPBg4F2S18tM5cwizNmwMterESS51h7Q5Wu/TNF4vOQrQLzaT8tfVNSyC1fQz8+aXUrp9R4t2wSPSSbjxRhzxsWfqyzcEeNVqxWjvXwt7hRBCXHz6XagHuhToG++LiYnhm9/8Jj/60Y+Ijo7u5p4JcfGqqK3lf1d/xI4mVV/cNhs/m3sliSGh1NY2TFEp83k55vEQd86odaP1p09T5vP1Sp/b4/d48FXXoPv9eKurKFr+Jkc/WYN+Tt+skZEk3HAD7lEjMdosqDYbimLAYGqoN2/oJ+sAhBBCXNz63bfR888/36n2iqJgt9txu92kp6cTFxfXQz0T4uJVXlPL71atIuvIkcC5ELudn8+9kjh3CCbVwLqdX2FUFL4dG9dmoPdqGitPnuitbrdK8/nwVdegeb1ofj9HP/6Y4jffxntO6VvVbiPu6qsZctllGG2Whqk2qhFFNWC021Et/adKjxBCCNHvQv2SJUv6ugtCiCbKamr47xUrySkpCZwLczj4+dwriQl2Y1INfLRhNc8vf5Z/T0wizeFo81lf9OEove7346upwV/fUJmndMd28pe+0uq8+cjLZhB79dWYg10YbbYzC3kbptqodrtsHiWEEKLf6XehXgjRf5yuruahFSvJPXYscC7c6eTn8+YS7QrCbFR5++O3eGfF6/wsOYXYJiP0utmC4vWCrjWcMKjceP9/cYsjKNAmyOHq9j6fW3FG1zRKv96OMzkJXYfqQ4fIX/oKp3fsaHFv8IgRJNx4A/bY2IaylDbrmak2JoxOB4ZuWsgvhBBCdDcJ9UKIVp2qquahDz9k34mz02UiXS7+Y95cIp0uTKqBl997mQ2fr+TnKamEninjCGBwuXHNvB7/gd1U5WwDIHjUZMKi4nu0z/tffJn8l5eS9r17SLz5Jvx19RS+8Qb5Ly8j7tpr0Dwejq75tNV584k33UBw5khUswmjw45iUBum2jgcqOa+X9ArhBBCtEdCvRCihROVlTz04QoOnDwZOBcVFMTP580lwuHEZFB46vWn2Ld9Az9LTsHRZATbEBZJ0OXX4Y6IQo+Ioip3BwAhE2f2aJ8bAz1A3lPP4K+rQ/drgZ1dD73/QYt7VLuduAVXM2TGDFSLqWGqjdnSMNXGZjuzKFam2gghhOj/+l2o93q9HD16ptydwdClha+HDh1C0xr+5B8TE4NRqlMI0WHHKir4rw9XUHjqVOBcbHAw/zFvLmF2B6qi89eXHqc8byf/npiEuUkpR2NMEsGXLsAVGoHRagObg+DMyaCA0eXusT6XZWcHAn2jAy++3PYNikLkZZcRe/V8zEEuVIsFw5kA3zBS70CRqTZCCCEGkH5XWPnRRx8lOTmZ5ORkHnzwwS4940c/+lHgGU8++WQ391CIwaukvJxfv/9Bs0Af73bzy3nzCLM7UHQ///vMnyA/h3vjE5oFelNKBiEzryc4PLIh0J/hnjSzx0fp3ZmZDPvuPR1qG5wxglG/+gVJC2/FEhqCKTgI1W7HYDRiDnJhCgqSQC+EEGLAUfSuFoXvIaNGjSI7OxtFUdi0aRMTJ07s9DO2bdvGpEmTABg3bhzbtm3r7m6Kc8j25wPf4bIyfvPBhxxu8r9hYmgoP597JUFWG36fh98/9b+kVpxkQcSQZveaMycTMm46DncYBqOJ3qb7/Xirqih++93AdJtzGZ1OUu68HXfmSAzGhrKUBpO5YaqN3Y5qtcpUG9Gj5HNSCNGT+tVI/dGjRwOBfujQoV0K9AATJkxg+PDhAOzcuZMTJ/q2LrYQ/d2h06f5z/febxbok8PC+MW8uQRZbXjqa/nN479hfE15s0Cvo2CZOJPwiZfjdIf3SaD3ezx4ysvx13so3bmzzXbRc2YTOmoUJrsNU1AwBpMZ1WLG7HZjlLnzQgghBrh+Feq3b98eeH355Zdf0LMa79d1na+//vqCniXEYFZcWsqv3nufoxUVgXOpERH8fN5cXBYr1dVl/Odff8k8xc+lISGBNrpBxXHpfMJHTsEWFILSy2tXdF3HV12Nt6KS2hMn2fxvD1K2O6vN9gffeZdjX3yBarM1TLUJDsLkcslUGyGEEINCv1pBmp+fH3id2aTOdFeMGDGi1ecKIc4qOHWK37z/ASeqqgLn0oYM4adzZmM3WzhddoL/feK3fNPlJNluD7TRTWZcl19LSEIaZmcQiqF3xwcap9toXh+ntm5l7xNP4q+tPe99BcteJXTMGMLGj+uFXgohhBC9p1+F+oomI4WNcw+7qun95eXlF/QsIQayOq+Xz/ftZ3NREVX1dTgtViYnJhIfGsLvV67iVHV1oG16ZCQ/njMbu8nMsROHeeQfv+Pb4WFEWixnH2hzEDTrOkJikjE5nChK7wZ6v8eDr6oKv8dL/stLObL6o1bbJdx4AwaTicLX3wicS7n9Ngn0QgghBqV+FertTUYCmwb8rmh6v5S0FBerrwoKeHTNp5TX1TU7/8WBAyhA01XymdHR/Gj2bKxGI8WH83nqmT9xX+QQgptsKqUEhRI063rckXEYbfZenYeu6zr+mhp8tXXUHD3Cnkcfp7qouFkbW0w0tUeOknDzjSRefx2K0YRqMXPgpaWk3HE7Q5fc0Wv9FUIIIXpTv0q7ERERgde5ubkX9Ky8vLxWnyvExeKrggJ+t2IlWhsFrpqeHR0by79fMQuL0UjegRxef/kxfhAdhbXpplIRMQRffi3B4dHNSlb2hqbTbY599hn7nnsBrb7+bN/MZpIW3kL41GnUHDpIyOhRKIoBo81Kyh23EzZhPO4LnNInhBBC9Gf9KtQ3nQf/4Ycf8vjjj2PowlxdTdN4//33A8dpaWnd0j8hBoo6r5dH13zaZqBvymgwcP9lM7AYjezI2sqnb/6T78fEoDYZhVfjh+K+5CqCQiNQLdae7HoLmseDt6oKX00t+/75LMe/2NDsuj0ujqF33YU9Jgqjw451zBgUg4LJ6cRgNgNIoBdCCDHo9atQP378eMLDwzl58iTFxcX83//9H/fdd1+nn/Pkk09SXNzwZ3m3282UKVO6u6tC9Guf79vfYspNW3yaxraDB7FUHmP3ile4Kyam2XXTsDG4J1+BK6T3a9D7qqvx1dZRWVDA3scep7bkWLPrkTMvJ+H66zE6bA27wBrUhh1hnc5eX7wrhBBC9KV+9613++23Aw3zZ3/84x+zevXqTt2/atUqfvzjH6MoCoqisHjx4i6N9neHyspKHnroIUaNGoXT6SQ4OJhJkybxyCOP4PF4uvW97r333sDPnJSU1K3PFgPP5qKiTrX/aMc2ile/wc2RUc3OW8ZcQtjU2QSF9G4Net3vx1NejremlsMrVrDj1//VLNCrdjvDvncPSbfeeqY0ZRAGVcXocDTsCCuBXgghxEWm3+0oe/LkSVJSUqiurkbXdVRV5Qc/+AE//vGPiYuLa/O+Q4cO8Ze//IUnnngCTdPQdR2n08n+/fsZMmRIm/f1lKKiImbOnElhYSHQsAjY7/dTf2Ye8Lhx41izZg0hTep+d9W6deu44ooraPyfMjExMfC+vUV2Suxffv7OO+w4dLjD7aO8lfyncjpwrAGOqXMISR/XUIPe0Hu13Bun23jKK8j9x/9R2mT/CgDX0FRSv/UtrBFhmBwOFKMJg1HF6HJhkJrzoh+Tz0khRE/qV9NvAMLDw3nxxRe55ZZbAPD7/Tz++OP8/e9/Z9KkSUycOJHo6GicTidVVVUcPXqUrVu3smXLlkCYB1BVlZdeeqlPAr3f7+faa6+lsLCQ6OhoXnrpJebMmYOmaSxfvpx77rmH7du3c9ttt7FixYoLeq+amhq+853vYDQaGTNmDFu3bu2mn0IMRJrPi7+uFjOd+109WjU0JHnArxgIuuwa3CkZWF3BvTrq3Tjdpiwnh71/ewLP6bO/aKAoxM6/itj58zHarah2B4qiYLRZUe29W4lHCCGE6G/6XagHuOGGG3jqqaf4wQ9+EJim4vf72bRpE5s2bWr1Hl3XA1/qFouFJ598kuuvv763utzMCy+8wO7duwF48803mTZtGgAGg4GFCxeiaRqLFy9m5cqVrFmzhtmzZ3f5vX71q19x4MABfvWrX3Ho0CEJ9Rc5f201Rc8/zDDdymY1rMP3ZegN8+99RhPuK24gJH4YZmfv1aBvrG7jr/dQ9K9/Ufz2u9Dkj4im4GBSv/Ut3OlpGB12DGYLimrA5HAEFsMKIYQQF7N+O/H029/+Nhs2bGDixImB0fe2Zgo1vT5t2jQ2bdrEt771rd7qagsvvvgiALNmzQoE+qYWLVpEcnIyAC+99FKX32fjxo08/vjjpKWl8Z//+Z9dfo4YPEwuN9bhY5ig12DX/R26x6n7maDX4LXYCblqEaGJwzE7Xb0W6DWPB095ObUlx9j5299R/NY7zQK9e+RIRv3yF4SMHIEpOAiD2YJqNmEODpZAL4QQQpzRb0M9NFTD2bRpE5999hn3338/o0ePxmg0out64B9VVRkzZgwPPPAAGzZsYMOGDYwePbrP+lxTU8OGDQ0l9+bPn99qG0VRuOqqqwD46KPWd8M8n/r6eu6++250Xeepp57Cau3dMoOi/7KNvgRN8xPE+UO9ouvcppWiWe2EX72YsNgUzA5nr01l8VVX46mo5MTmLWz7j59T0WR/CkVVSbj5JtK+fy+2IRGyGFYIIYRoR7+cfnOuGTNmMGPGjMBxZWUllZWVOJ1OgoKC+rBnLe3ZswdNa5icPHLkyDbbNV4rKSmhtLSU0NDQTr3Pf//3f7Nnzx6+853vMHPmzC73Vww+BoeLZ7xWSs4ziu3U/dymlRJdX459/rcJjU5ANVt6pY+N0218NbXkL1vGkVXNf7m1DhnC0LvvwpmcKIthhRBCiA4YEKH+XC6XC5fL1dfdaNWRI0cCr2NjY9ts1/TakSNHOhXqt2/fzsMPP0xkZCQPP/xw1zraCY0VG9pTXl5OcHBwj/dFnN+mwiJyHWdLUw7RvczSKslTLFSj4sBPhl7HBL0Go67xy4J8ngqP7LVA31jdpvrQEfY89hjVRcXNrodPmUzSwoWYg12yGFb0K+UlpRRsyaG6rBKH20XypAyCozo3ICOEED1lQIb6/qyysjLw2m63t9mu6bWm95yPz+fj7rvvxufz8fjjj3dLSUwxeBwpK+Ofm7YEjk26xrf9J4nFywy9qkX7taWllPp8qKbun5telp3dYifXU1u34UhKouSzz9j/3AtoZ0q8AhgsFpIWLmTItCmyGFb0OwVb9rDx1Y/Rz/wlFmDvuq+ZsuhKkieNaOdOIYToHRLqB5g//vGP7Nixg2uuuYZbb721V96zIzWVOzKaL3pWvdfLnz/5hKomQfl6fymxeFtt79U0Vp480SN92f/iy+S/vJS0791D0i03o/v95L/yKgdefBl7fBw1Bw81a2+Pj2fo3XfhiIuRnWFFv3P68PEWgR5A82tseu1jQhMiCY6UEXshRN/qd6H+6NGjfPzxxwA4HA5uuummTj/jzTffpLq6GoB58+YRGRnZrX1sT9NpQTU1NW22a3qto1OJcnJy+N3vfofT6eQf//hH1zspBh1N13lx0yb2NNl11X/6CLr3OLQxteuL06cp8/m6vS+NgR4g76ln0P1+/PX15L+8DKBFoI+cNZOE66/HHORCtdlQFDA6HKiy+Fv0IV3X8Xt8eOs87FzxVYtA30jzaxRszmHstZf2cg+FEKK5fhfqH374YR5//HEAfvSjH3Up1G/atIlHHnkEgJ/97Gf84Q9/6NY+ticmJibw+vDhw21W4jl8+Oxun03vac/999+Px+Pht7/9LSEhIVRVNZ9O4TsT0HRdD1yzWCyYTKZO/Qxi4PkqP5+3d+wMHOv11fgPZWGMav0X2p4apS/Lzg4E+kb7/vlcq21Vq5XUby0hdNwYWQwr+g3Nr+HzeKktr6Zoey4FW/ZQXVrR7j3VZR2fQimEED2l3/1d+4033ghsJPXDH/6wS89ovE/XdV577bXu7N55jRgxAsOZ6QJZWVlttmu8FhUV1eFFsgUFBQD84he/CCwWbvrPsmUNI6HFxcWBc0888cSF/DhiADhSVsbja9cF9pBVDQq+ou1McNq5tI01Fz01Su/OzCTte/ect50lPIxRv/5PwidNwBQUjGI0YbRZMQUHS6AXfcLv9VFfXcux/QfZ8q9PWfXIK2St3nTeQA/gcPfPwg1CiItLvwr1ubm5HD16FEVRmDRpEvHx8V16TlxcHJdccgnQEHAPHDjQnd1sl91uZ/r06QCsWrWq1Ta6rrN69WoA5s6d22t9E4NPndfLI2s+pbyuLnDu+sxMhvjrWBJztsJS043benIuPUDSLTeT+q0lbV4PGpHO2P9+CGd8LEaHE4NRxRzkaphLL9VtRC/SNR1vvYea05Uc2JzNuqfeYe2Tb1O0LRe/t2O/9BpUA8mTM3q4p0IIcX79KtTv3r078LoxGHfV1KlTA6937dp1Qc/qrCVLGgLN2rVr2bRpU4vry5cvJz8/H4A777yzw88tLCxstvHWuf80vm9iYmLg3L//+79f+A8k+iVN11m6eQvZR48Gzo2PjyfdZeHe+ASsTUa8c5pM1eqpUXpo+OXBW1GB5/TpNtuEjMzE7HbLzrCiz2h+DU9tPacPn2DXyq9Y+cgrbF2+llPFx1q0DYmNYMw10xmzYHqLRdsG1cCURVfKIlkhRL/Qr+bUHzp0dgFdcnLyBT2r6f0HDx68oGd11pIlS3jsscfYvXs3N910Ey+++CKzZ89G0zTefPNN7rmnYXrC/PnzmT17drN7H3roIX77298CDdNtkpKSerXvYuDYVFDImzt2BI7DHA6+NWUSO1/4E+OaLDI94Q5n7NxFeD9ZDsCN9/8Xtziab9oW5Ljw6QO6puGtrCTvmWc5smp1m+2Klr+JarGSvOhWWQwrepXf68Nb7+F4/hEKNmVzZE8huqa3aKcaVaIzkkgcn05obAQGk4qiKESkxnBo135qK2pwhLhInpwhgV4I0W/0q1DftCKM0+m8oGc1rQN/7oLSnmY0GnnvvfeYNWsWhYWFzJkzB7vdjqZp1J2ZJjFu3LjAHHghOutIeTmPrV0bmFajGgzcf/nlbH7rGaZaz24iVWowMnTOTYRFJ3CqpAgUCIvq2rS29mh+P96KSorfebfdQN8of+kywidNaFHHXojupms6Pq+XuqoaDu7YT/6mbCqOt/6XJLvbScLYNBLGpWFz2VDO/LVLNaoYzSbswU6GpLS9qaAQQvSlfhXqm+5IevLkyQt61qlTpwKvHQ7HBT2rK5KSkti1axd/+ctfeOuttygoKMBkMpGZmck3v/lNHnjgAcwy5UB0QZ3Px1/XfEpZbW3g3M3jxnJ672bG11XCmSkCtZpOzFU3446IwaAacU+aSU/MWNe8XryVlRz55FMKXm25MD3+xhsw2qwULHs1cC7ljtsl0Isepfn9+Oq9lJeUkr85h6LtefjqPa22jUiJIXH8cKLSElDNRhRFQVEUVJMRo9mEQe1XM1WFEKJV/SrUDxkyJPB627ZtF/Ssr7/+utXn9iaXy8Vvf/vbwHSajnjooYd46KGHuvR+L7zwAi+88EKX7hUDg1/TeHXLFnYfORI4NyY2lnFuBzXrNzb7RVEdP4Ow2BRMloYpLiaXu/v74/HgraigcPmbFL/5VovrCTffROJNN2AwGFCtVvY/+zwpd9zO0CV3dHtfhNB1Hb/Xj7eunqN7i8jfnMPx/YdabWuymokdmULShHSChrgxGBu+Dg2qAaPZhGoyysJtIcSA0q9C/aRJk4CGD+ZVq1ZRXl7ebPS+o8rLy1mxYkXgeNy4cd3WRyH6iq7rbC0qYvnX2wPnQu127poymX0v/5kRlrOB/lRELOkjJ2F1BrX2qG7hq63DW1HBvn8+S8nadWcvKApJC2/FmZRIyJgxGAwKJpeLlG8uInT0KBmhFxesvKSUgi05VJdV4nC7SJyYjjMkiOqySoq25VKwJYeastanXQYNCSFhfBrxo4ZitltQDAYUFFRTwy7GqlFKqgohBqZ+FeqTkpIYOnQo+/fvp7y8nJ///Oc8+eSTnX7Of/zHf1BeXg5AQkIC6enp3d1VIXpdSWUlj65dh3ZmHr1BUfj+ZZex651/Mr5JoD+hmhg681pcIRE9NtLoq66m/nQZex57nNLtOwLnFZOJoXfdRcTUyRjtdhSDgikoKDAKKoFeXKiCLXvY+OrHzXZ43bN2G6HxkZw+fALN529xj2IwEDU8nsQJ6YQnRJ2dYmNQMJpNGE0mFIOMygshBrZ+FeqhYeOoxs2jnn76aUJDQ/nd734X2NCpPbqu86tf/Yqnn34aAEVReOCBB3q0v0L0hjqvl8c+XcvpJovJbxw7hprcLYypr4Iz4b1K00i4+lZCImJ6ZBMnXdfxVVVRe+Ik2X96mMoD+YFrRoeDtHvvJWRkBqqtYZGhOcgVWGwoxIUqLyltEeihYTHsqaKSFu2tTjvxY4aSOGE4DrcL5czc+MaFr6qp330FCiFElyl6011p+gGv10tGRgb5+fmBnWXHjh3LT3/6U6677jpsNluLe2pra3nnnXd45JFH2L59e6AiSGpqKtnZ2bIgtRe43W4AysrK+rQfg5Ff01i6eQuvbt0aODcyJoY70lPwfPgiISYT0FC33jtxFsljp2HvgfnzDSUrq6g+eIjdf/gjdcfO1vQ2h4aS/oP7CUpNxmCxYjCqmIKCWtT1FqKrdF1n+7vr2bvu6/O2DU2IJHFcGjEZyRgtpn6z8FU+J4UQPanfDVOYTCbef/99LrnkksAUmu3bt3Pbbbehqirp6elER0fjdDqpqqri6NGj7N27F7/fH/glACA0NJQPPvhAAr0Y0HRdZ1vxQV5vsnA8xG7n7imTKF72/xhqNgXOn4xKJHPEuJ4J9H4/nopKKvL2kfWnh/FWVASu2ePiSP/BfdhjYzCYzBhMJkxBLllkKLpFY0nK0kPHObhrf7tt7W4XE2+eiTs6HMOZufGy8FUIcbHod6EeID09nU8++YRbb72V/Px8FEVp+LO/z0dWVhbZ2dmBtk3/0NDYbtiwYbzxxhsMHz68L7ovRLcpqajgsbVrm82jv/fS6eS++xyjmgT6o6qJ9MsX4AqN6PY+aD4f3spKTm3bTs5fH0Wrrw9cC0pPJ+1738EWEYFiNKFazBidTglP4oJpmoav3sPRPcXs/2oXx/a1XsWmqdjMZELjI2XhqxDiotQvQz3A+PHj2b59O7///e95+umnA6P20DzIN+V2u7n33nv55S9/2Se16YXoTnVeL39b9xmnqqsD564bPRpP3jYym8yjL/NrJF+zEHdYFAZD9wYYzePBW1nJ0bXryHv6n9BkLnPY5EmkLrkDS0gIikHFaLNilP/fiQuk+f3UV9dR+HUuB77aTcWx1jeKOpeiGkicMByT1SwLX4UQF6V+N6e+NVVVVaxevZr169eTk5PDqVOnqKysxOl0EhYWxsiRI7nsssuYN29es51kRe+RuaLdy69pvLp1K0s3bwmcy4iOYkl6CtrKpbjOVJPx6Tq+ybNJHjMVh7Pz5V/b7UN9Pd7KSoreeoeiN5Y3uxY990oSbrgec3BQQ6B3ODDarN36/uLi4vf5qC6tYP9XWRRs2UN9VW2LNgbVQHB0OGVHTqBrTf5KqxqYfMsVpE4d2Ztd7jT5nBRC9KQBEeovxL59+xg2bFhfd2PQky+r7tMwj76Y//pwBf4zI+PBNhv/OXcOJ157jIQmFTuORiUy6sqbcIdFdmsffLW1eCur2Pfsc5Ss+fTsBUUh8ZabiblyNkanE4PBgNHpRLVYuvX9xcXD5/FReugY+77YxcFd+1stSWm2W0gYl0bypBHYg11UnSrn4I591FbW4AwLImVKJsGRoX3Q+86Rz0khRE/qt9NvLkRtbS3Lly/n2WefZcOGDfh8vr7ukhAddqyigsfWrgsEekVR+O706RS9/zzpTQJ9sWpm5IyrcbnDuvX9vVXVeMrL2fv43zi17WylEcVoZOhd3yJiyiRUhzOwqZRBFqOLTtJ1HV+9lyN7Cti3YXebu746w4NJnjSChDFDMZ35S5DBYCAsPpIhqbGydkMIIZoYVKF+8+bNPPfcc7z22mtUVlY2q4YjxEBQ6/HwxOfrOVF1djfMa0aORMnbQrrnbI36k34/w65ZhDs8ClXtnv8b67qOr7KSulOlZP3pz1TuP1tpRLXbSbv3e4SMzGx1UykhOkLXdOqraynYtpcDX+6m4njr8+XDk6JJmZpJ1LD4QBUb1WjEaDGiyr9zQgjRqgH/6Xjq1Clefvllnn32WXJycgAkzIsByef3887OXWwpKgqcS4+M5NIQO8rWHXBmEyePpuG4ZB6hkXGYLd0zj13XNLwVFVQfOUrWH/5I7dGzG/mYQ0IY/oP7CUpJlk2lRJdomkbVqXL2b9hNwZYc6qvrWrQxqAZiMpNJnToSd3Q4iqGhtrzRbEQ19V1teSGEGCgGZKjXdZ3Vq1fz3HPP8d577+H1egMVcRrDvK7rWK1Wrr766r7sqhAdouk6uw4fZtmWswtjg6xW7po8gYrlTxDdpCzf8bihjBk2GoerexbGan4/3ooKKvfns/uPf8LbpNKUPTaG4fffjyM2WjaVEp2m+f2cKj5G3vodHNx1oM358onjh5MyKQOb2wk0TLExmk2oZqktL4QQHTWgQn1BQQHPP/88L7zwAocPHwZalrc0GAxcccUVLF68mBtvvBGXy9UXXRWiU05UVvLY2nX4GufRA9+5ZBolH7xIapNAf0A1M/7SqwgKCe+W99W8XryVlZTu2EX2I/+veQ36tDTS7v0u1ohw2VRKdIrP6+VwdgH71u/k+IHDrbZxhrtJmZJBwphhGC0Ney7IFBshhOi6fv/JWV9fz1tvvcWzzz7LunXr0HW9RZBXFIUpU6awePFibr31VoYMGdJHvRWi82rq6/nH5+s5VlkZODc/MxNz3hbivGfL+pX4fGR841sEhUWidsPUF7/Hg6+ykqOffc6+p55G9zepQT9xwtka9EYTqtWC0eGQQC+aKS8ppWBLDtVllTjcLmJHpnKy6Cj7v9xNZRvz5SNSYkiZmknk0HgMquHsFBuzCYP8BUgIIbqs34b67du38+yzz/LKK68ENp46d6584w6yqampfPnll33VVSG6zOv38/7uLDYVFgbOpQ0ZwuUhNozbs+BMyKnx+wmasYDQITFYOjmPviw7G3dmZrNzp77ejj0+noPvvkvha280uxY1ezaJN9+AOThYNpUSbSrYsoeNr36M3mRDspw1W1ttazCqxGYmM3TaSIKjG/7KZDAYMFpMqCaZYiOEEN2hX4X6srIyli1bxrPPPsvOnTuBs0G+cXReVVWuuuoqlixZwi233CJfBmLA0nSdrCNHWLp5c+Ccy2Lh2xPHU/P2k0Q0GY0/kTCc8amZnd5gav+LL5P/8lLSvncPSbfcDED+slfY//yLOFOSqcovONtYUUi46UZirpyDyeWUTaVEm8pLSlsE+taY7VaSJqaTMjkDq6thY0CZYiOEED2jX3yqrlmzhmeffZZ33nmH+jNzepuOyuu6zpgxY1iyZAm33XYbERERfdldIbqkzuvl83372VxURFV9HSaDSu7x43ibzKO/a9pUTq18iYQmgT5XNTN5+jxcIZ2rR98Y6AHynnoGXQfNU8+BF14CaBboFaOR1CV3EjF1smwqJdrl9/vZtfLLdgO92WYhY84k4sYMxXhmJF6m2AghRM/qs1B/8OBBXnjhBZ5//nmKzpTwO3dUfsiQISxevJglS5YwevTovuqqEBfsq4ICHl3zKeV1LUv5NZqXkYEzbzMx3rNtDnq9jL7uLoLChmDsRD36suzsQKBvtO/pZ1ptazCbGX7f9wkZmSGbSok2+Txeirblkrt+B2VHTrbbdsjQOJImpmNQz1SxkSk2QgjR4/os1CcnJ7e66NVsNnPttdeyZMkSrrrqqm5ZEChEX/qqoIDfrViJds6/6+ca4q9hSNFeOBN+qnw+Qi+/lpDwzs+jd2dmkva9e8h7qvUg30i1Wsn4yY9xpSTLplKiVXVVNez/cjf7Nuymtrzq/DcAjpAgLA4bqlE+v4UQorf02Te3pmmBkRtFUZg8eTJLlixh0aJFuN3uvuqWEN2qzuvl0TWfnjfQA/xr7wHGKgZAR9N1jiePYFJqBg5n18qyNs6hbyvYG4NcjPzZf+CIjZZNpUQLFSfKyPt8O/lb9uCr83T4PoNqYOj0URLohRCil/X5cJyiKCQnJ3PXXXexcOFCgoO7Z0MdIfqDz/ftb3fKTVM1iso2xc40vZpso5Xpl8zF5Q67oGkLms/X5rWoyy7HGR/TsKmUyYjJ5ZJNpS5yuq5zqugYez/bxsFdB5qVOW1kd7tInZqJajax88MNzdoYVANTFl1JcGRob3ZbCCEEoOjnzn/pJQaDoUVYsVgsXHvttdx5553Mnz//vAuqGp+RmppKXl5eT3ZXnEfjX1fKysr6tB/9hebzonvq+d9P17GhsKjD943TqplVd5QRt36PIdFJnZ5201TBa6+z75/Ptdsm5fbbSLjhetlU6iKn+TWO5BSw97PtHN9/qNU2IbERDL1kFDEZSSgGA6pRpaa8iqJtuYE69cmTMyTQt0M+J4UQPanPRur/+Mc/8sILL7B3797Aubq6Ov71r3/xr3/9K7BI9s4772TMmDF91U0husRfW03R8w9zgjAwdDyYV2Mg8pJ5uMOiLyjQl+7afd5AD5C/dBlhEycQMjLzvG3F4OPzeinYspe8z7dTXlLaapuo4QkMu2QUYUnRKCioJhWjxYRBVbE4bITESDUyIYToD/rsb+0/+9nPyMnJ4YsvvuBb3/oWjjOb2zQunj127BiPPvoo48ePZ8yYMfz1r3/l2LFjfdVdITrF5HJjHT4GB+3X8W5xn1ElfsR4nM6gLr+3rmk44uNwpQ1rdt7ochL3jWuanUu543YJ9Behuqoadq/eyPu/e4Etb6xpEegNRpXECcOZ/cAtTF08l/DkGEwWM1aXHbPdikHWXQghRL/TZ9NvzlVVVcVrr73Gc889x8aNG4GzO8Y2TgtQVZUrr7ySJUuWcN1112Gz2WT6TT8hf1Zu6dTRg7z/+nO8Zgzv8D23DU9m8RXzulz1Sdd1vOXlHPxgBQdeeDFw3mCxMPrXv8KVnMThlavJX7qMlDtuZ+iSO7r0PmJgqjx5mr3rtlOwZQ++em+L62a7leRJI0idmtkQ3mXX124ln5NCiJ7Ub0J9U3v27OGf//wnS5cu5cSJE0DLgB8UFER5eTkAQ4cOlVDfx+TLqqWyynJe/fNPWBMxiirl/CHdonn5+623EB8V2+X39FZUcOyLL8n566Nw5v/aisnEyJ/8CHfGCBSTGaPDTlV+Pu5MGaG/WJwsPMqetds4tPsAutbyI98RGsTQS0aRMHYYqsmIamyYYiO7vnYv+ZwUQvSkfhnqG/l8Pt59912ee+45Vq9eHSiD2djlxtcul4vf/OY3LFy4kLi4uD7u9cVJvqxaKqss59s/W8L8tHH8yxgWqD/fGkXXMRXv4KXfPILb1bUKUN6qKk7v2s2u3/0PmvfMKKzBwPDv30vElEkYzBZUqxWT09Gl54v+q7yklIItOWcXrE7KwDXEzeHsfPau3c6J/MOt3heaEMmw6aOISkvEYDCcmS9vxqBKFaSeIJ+TQoie1K9DfVOHDx/m+eef54UXXiA/Px+gxZ+DFUVh+vTp3Hbbbdx8882EhkoVht4iX1YtlVWWc+OPFpMyfBqHrCFttnPqfkaVFfJZcS5v/b9XuhTqfTU1VOzPZ8dv/gtf1dkNgpJvv42YObNRrVZUswlTUNfn6ov+qWDLHja++jG6dnb9hqIoWJw26iprWt6gKMSMSGToJaMJjR+CoigYzSaMZhOKQabY9CT5nBRC9KQBE+qbWrt2Lf/85z95++23qTtTA/zc6TlGo5Err7yS2267jW9+85t92d2LgnxZtVRWWc5Nv7oXU9qlgXNDtVpcaFSj4sBPhl7HaH8Vv92XS5nP16VQ76+vp/rQYXb8+r+oO348cD726qtJvPlGjHZ7Qx36oCCZFz3IlJeUsuLhpc0CfVtUk5GEscMYOn00jhCXzJfvA/I5KYToSQNywuSsWbOYNWsW5eXlLF26lOeee47t27cHruu6jtfrZcWKFaxcuVJCvegTfk1DjRoeODbpGt/SSnHjb9Zu7elSytrZJKo9msdD3YmTZP3pz80CfcS0qSTc8A2MdjuKqjZsLCXBbdAp2JJz3kBvcdpImZxB8uQMzDaLzJcXQohBakBPnAwODub+++9n27ZtfP3119x3332BkRAJMKKvbT94CEPQ2Rrel2uVLQK9V9NYefJEl56v+Xx4ysrY8/jfqDozJQ0gOGMEKXfegdHpQjEomINkp9jByO/1cTS3uN02IXERzH1wEemXj8ce5MDqtGNx2CTQCyHEIDRovunHjh3L3//+d44cOcLSpUuZNWuWBHvRZ7w+H//auTtwrPi9zNUrWrT74vTpLo3S634/nooK8p59ntKvz/6Vyh4fT9r3vovZHYzBoDRMuZGa4oOK5tfI35zDB398idOHjrfbNiI5BqvD1qS+/KD5yBdCCHGOQTdcY7FYWLx4MYsXL6agoIDnn3++r7skLkLr9u2n8PTpwPGl3tPYjc2Xr3R1lF7XNLyVlRS/9Q4laz4NnDeHhpD+g+9jjQhHUQwYXS4MMiI7aOi6zpHsAnau+JKyIyfP296gGhg2fTQmq7kXeieEEKKvDepv/OTkZP77v/+7r7shLjJ1Xi+vbt0aODb66rnBWN+iXVdG6XVdx1tZxdFP11H42uuB86rdxogf/ABHXByKQcXkdKCaJcwNBrqucyL/CDs/3MCJ/CMtrlucNjw1dc3qzxtUA1MWXUlwVFhvdlUIIUQfGtShXoi+sDI7hyNnNkYDuMpfjlltCFxlXi+OM9NhujJK76uu5tTX28l76unAOcVoJO3ee3ENS0VRjRjtNlSr9QJ/CtEflB46zq6VX3Eku6DFNavLzohZE0gYN4zq05Uc2n2A2orqhjr1kzMIjpSSvkIIcTGRUC9EN6qsq2P5118HjkNVhSvVusDxbpOdGclDsVrtPHfPf7a4P8jhavPZvpoaynP3kfP//oruP7vgNnXJnYSNGYXBZEa1WjDa7d3004i+UnGijKzVGyn6OrfFDrAmm4W0S8eQMiUDo8mE0WLC7nYxJKXrOxELIYQY+CTUC9GN3tm1i9Kasxv+LKg/TuMy1YN1dUy7bhHRQ2KxmM0YO1GP3l9XR1XxIbL++Cf8tbWB8wk33UjkpdMxWKwYTCaMDtktdiCrLa8i+5Mt7P8qC83XvFKSajKSMiWTtBljMFnNGM0mTBazbBglhBACkFAvRLc5VV3NOzt2Bo5jVJjsOxvAD0fEMi4qHkdIeKeeq3k81B47Ttaf/oSnyeLbqFmziL36KlSbDYNRxRQktegHqvqaWvau3U7e+h146zzNrikGhcRxwxk+azw2lx3VaMRkNUslGyGEEM1IqBeiG+i6zvJtX1PtORvIrq8/RmPEzqmpYfq138LRyd1iNZ+P+tOnyX7kr9QcPBQ4HzJuLEmLbsXkcKKoBtktdoDy1nvYt2E3e9duo66ypsX1mMxkMmZPxBkWjEFVMVnNqEYpUSqEEKIlCfVCdIOj5RWsyM4OHKcY/GTQUPFG03VqkzMIjYjCZDR1+Jm634+nrIy9/3iK8pycwHlnSgrDvn1XQ5BvrEUvm0sNKH6vj8Jte8n6eDPVp1ruXxCREkPmlZNwx0Q0/G9ssWA0y8e1EEKItsm3hBAXSNd1Xtm6FU+Txas3e85uCrS1uobLZ8zD6Qjq+DM1DU9FJQWvvs6JDRsC561DhjD8/nuxhIU1bC7lcmGQzaUGDM3v51BWAVmrN7Zaa94dE07mnElEpMaiKAomixnVbJS/wgghhDgvCfVCXKCCkydZm5sbOB5JPQl4Aajz+3GMmUaQOwy1g+G7oRZ9JYdXruLgu+8FzhtdLtJ/eD/26Oizm0uZOj7yL/qO5tc4fuAQu1dtbLXWvDMsmBGzJxCTkYxBMWC0GDGaZRGsEEKIjpNQL8QF0HSdlzdvwa83lB00ADf4TgWub673cPXEGdjtzg4/01dVxYmvNrH/+RcC5wwWC+n3fx9XUhKKQcXokM2l+qPyklIKtuRQXVaJw+0icWI6mtfH7tWb2qw1P/zycSRNGI5iMGA0GTFazRhkOpUQQohOklAvxAXIPnqUrwrOhrVJejWRNOwSW+71kjDtSpxBoaiGjo3S+6qrOZ2Vw57H/wZnflHAYGDYt+/GnZmBYjRhtFkx2mRzqf6mYMseNr76MbqmBc7lfHpmZ+HmpeYxWc0Mmz6alKmZGM0mVKN6pqKNTKUSQgjRNRLqhegiTdd5aeOmwLFJUbjWVxY43qIp3JgxHrutY5tB+WrrqCwoJOvhP6M1qaKT/M1FhE+e1LC5lMUstej7ofKS0haBHmgR5lWjSvLkDNJmjMVst2AwGBoq2pjko1gIIcSFkW8SIbpoc0Ehu4+cnR89w1+Om4bFsofr6hg7+wacQe4OTaXwezzUHD3K7j/8EV9lZeB87Pz5xMy+AtV6ZnMpZ8en8Yjek785u2WgP0fi+OGkzxyHLdjZsAj2zAZSQgghRHeQUC9EF/j8fl7evDlwbFPgKq08cJxjdXJrcjo26/lH6TWvl/qTJ8l++M/UHTtbNSd86hQSbroe1W5HUVVMLqdUQelnNE2jvqqWI3sK220XOSyecdfNQEHBaDFhtJjkf0shhBDdSkK9EF2wbt8+Dpw8W5Jwju809jNzLfZWV3PpN5bgcLnPG9w0vx9PeTk5j/2Nyv0HAueD0tNJXbIE45nNpcxBLqlF349omoanuo78Tdns/Wx7qxtHNRUUGYrRbMJkkYo2QggheoaEeiE6yePzsWzzlsBxkKIzS68CGubZHwqL4ZLYJKyW5otZy7KzcWdmBo51TePE5i0cX/8Fpdu+Dpy3x8WSdu93MbuDArXoFVlA2S9omoa3tp7CrXvZs+5rak5XnvceRTUw7JJRmG2WXuihEEKIi5WEeiE6aUVWNkcrzu4CerW3FPOZUfotlZXMuXYJTpe72T37X3yZ/JeXkva9e0i65WZ0XSd/2SscePHlZu3MISGkP3A/tiERDYsoXS4MRvm/aV/TNR1vXT3FO/aR8+lWqk6Wt2hjDXJQX1WDrp1dHWtQDUxZdCXumPDe7K4QQoiLkKQFITqhur6e178+O6oerviZRjUAHk3Dk5JBeEQ05iabQjUGeoC8p54BwF9X3yLQqzYb6T+4D0dcXEMteqcTg9Si71O6puOtr+dwVgE5a7ZSXnKqRRtneDDDLx9HbGYK1aUVHNy5n7rKGpxhQSRPziA4MrQPei56W3l5OQ6HA6P8Ei6E6CPy6SNEJ7y9Yyena87On77OV0rjxJj1lZXMv/lqnI6gwPWy7OxAoG/UGOzPFf+NawlOG4aiGjE67KgWma7RV3RNx+fxcHRvMTlrtlB68HiLNna3k7QZY0kYMxSDyYiiKITFRzIkNVYWwV5EysvL+eKLL9i+fTsPPvighHohRJ+RTx8hOqi0poa3d+4MHMfhZaxeC0Clz4d79FTcIWHNvtTdmZmkfe+eNoN8o7BJk4hbMB/FZEa1WjHabD3zQ4h2NYb54/sPk/PpVk7kH2nRxuqyM2z6aJImDEc1m6SizUWqaZj3+/193R0hhJBQL0RHvbFtG9VNNoW6wV9KY4T7rLqWhVOuwOFwtbgv6ZabgbZH6N0jR5J+//cxmC2oZhMmp2wu1dsaw/zJwmPkfLqFY3kHW7Qx262kThtJyuQRmKyWM2HeiNEsFW0uJhLmhRD9lYR6ITrgaHk5K7KyA8dpeh3D9XoAjtXXM/SSOTiDQlANna9SE5wx4szmUkaMrpa/FIie0xjmTx86yZ61WzmcXdCijdFqJmVyBqlTMrE4G/6CYjQZMVrNHdpYTAwOEuaFEP2dhHohOmDZli14mnyRX+8/HXj9lU/nztFTcNhbH2EvXP6vdqffFL2xHNVqIfX222T6Ri9pDPPlJaXsXfc1xTv3g643a6OajSRNSGfYJaOxuGwoioJqNGKymjBIidGLhoR5IcRAIaFeiPMoOHmKT3PzAsdjtRoS8AKwr7qaSbOuwxHkbnXUtiw7+7zz6QHyX1pK+ITxzerYi+7XGOYrT5ST+/l2CrflomtaszYGo0ri2DSGXToam7thF1+DqmKymlGNEuYvFhLmhRADjYR6Idqh6zovbdqEdmYU1wB8QysLXN9tcXD3sFHYrfZW73dnZpJyx+0tKuBYo6KoKykJHKfccbsE+h7UGOarS6vI+2IH+Ztz0HzNg5piMBA/OpVhM8bgDA1GMSgNewVYzagm+ai8WEiYF0IMVPJNJUQ7so8e5auCs/Osp2mVDMEHwJbycmZftwS7K7jdaTOpd9zG8S+/pOpAfuBc+n33UpG3j/yly0i543aGLrmj536Ii1B5SSkFW3KoPl2J1WUnclg8x/YdZP9Xu/F7fM0bKwqxmcmkXTqGoMgQFIMBxaBgspgxmk2tv4EYtBRFQdd19HOmYwkhRH8noV6INui6zosbNwWOTejM1xp2kvVpGkfCY5ibkIrNYm33OVWFRVQXFgWOQydMICgtDXdmJuGTJsgIfTcr2LKHja9+3GxaTe5n21ttGzU8gbTLxhISHYaiqijKmfKUZilPOVB1dROoiooK9u3bx759+ygoKEA7Z1qWEEL0dxLqhWjD5sJCdh85W6d8llaBm4Y/x39WVsbVt92By+VuN/zpmkbBK6+iN/4ZX1FIuvUmAIwOuwT6blZeUtoi0LcmIjWWtBljCIsfgsFolPKUg0BnN4HSNI2SkhLy8vLYt28fR48eldF5IcSAJqFeiFb4NY0XN20OHNvQmHNmlL7a78eXnEF0ZBxmk7nd51Ts20/JZ58HjiOmTcWZmIRqMWOQnSe7ld/nI2/DznYDvTXIzrhrZxCeFI1qbvjvX8pTDmydmQPv9XrJz88nLy+PAwcOUF5e3m57q9VKcnIyKSkpREREsH37drKysmSuvRCiX5JUIUQr1uXtI//kycDxPH85dhpG8T4uK+Omm76Lw9l+TXnd7yd/6bJAqURFVUm6pWGUXrW3vrBWdJ7m1/DWeTief5iirXvbbRsWH0VkWjzAmfKUZgyqhPmBqKNhvqKigry8PPLy8igqKsLTZAO51oSGhpKSkkJqairR0dEYDAYMBgNGo5FrrrmGWbNmsWHDBr7++msJ90KIfkVCvRDn8Pr9LN1ydpQ+GD+X6VUAnPB4CB89hdCwSEzG9hdRluXs4cRXGwPHQ2Zcii06pmGjKalzfsF0Tcdb76Hs6EmyP97C0T2F573HHuKS8pQDXEfCfElJCcXFxYFpNe0xGAzExcWRmppKamoqQUFBAKiqitFoxGg0NvsrTnBwMFdffTWXXnopX3zxhYR7IUS/IaG+B1VWVvLII4/w5ptvUlBQgKqqpKWlsWjRIh544AHM5vanbrTm8OHDvPvuu6xdu5bt27dz+PBhAKKiopg6dSr33HMPV1xxRXf/KBeVFVlZHC2vCBwv8JdhPjNKv6ayirsuuRKn3dnuM3S/n/xlrwSOFZOJxJtvRFHAaGt/Ya1on67r+Dxeqk9VsGfd1xRu3YOunX8utKIaGDptJNYzu8KKgaUz02yWLl3a7nWbzUZycjKpqakkJiZiNpsbFkmfCfHqmUXT7QkKCmoR7oUQoi8puqwM6hFFRUXMnDmTwsJCAOx2O36/n/r6egDGjRvHmjVrCAkJ6fAzDx48SGJiYrPFXHa7HV3Xqa2tDZy7++67efrpp1F7cTTY7XYDUFZW1mvv2RNqPB6+vXQZp2tqABiie/mV/ygqUFBTQ/nY6cy77GpczqB2n3Py6+18/bOfB45j5s1l6F3fwmizYnS0vvOsOD+fx0dtZTX7v9zNvvU78Xm8za6rZiNhidGcOHC42dx6g2pgyqIrSZ40ore7LC5Qd9WNDw8PD0yriYqKatghWFUDI/IX+nlZUVGB3W5vd4HuYPmcFEL0TzJS3wP8fj/XXnsthYWFREdH89JLLzFnzhw0TWP58uXcc889bN++ndtuu40VK1Z06rm6rjN79mzuvPNO5syZQ0xMDJqmsXfvXn75y1/y7rvv8txzzxETE8Pvfve7HvwpB6e3duwIBHqAa7UyGr/qP/f4+cGES7Hb2w/lut/fbLMpg8VCwg3XoxgUVJuMEneF3+fHU1NH4de57Pl0G3UV1c2uK4pC3OihpM0YgzPURVVpJQd37qOusgZHWDApkzMIjgzto96LrrjQMK+qarNpNS5XwxqYxtF4o9HYrWVLG6ftCCFEX5FQ3wNeeOEFdu/eDcCbb77JtGnTgIa5mwsXLkTTNBYvXszKlStZs2YNs2fP7tBzQ0JC2LZtG+PHj2923mAwkJGRwdtvv83VV1/NqlWrePTRR/nVr36F1SpTPTqqrKaWt3bsDBwn6PWM1Rv+ArK9ooIZs67F4QpBNbQ/ondi81bKdmcFjmPmXonZ7Ua12VCkwkqnaJqGr87DkT2FZH28mYqS0hZthgyNY/jl4wiJCQuUpwyNi2BISqyUpxzAFEUJbATVWfPmzSMtLQ2TyRRY5No4Ki/7DwghBitJGD3gxRdfBGDWrFmBQN/UokWLSE5OBuCll17q8HODg4NbBPqmFEXh7rvvBqCqqoo9e/Z0ptsXvde2baWmSWWM67QyFMCv6+wyWRk7Yix2a/sj7ZrP12yUXrXbib/+GyiqAVV+weowXdPx1tVzfN8hPn/2fb58eVWLQB8cHcaUb17JlIVzCEuIxGA0YjQZsbhsmKwWCfQD2LFjx9i2bRtFRUVd2gRq6NChOJ1OHA4HDocDi8XS7SPzQgjR38hIfTerqalhw4YNAMyfP7/VNoqicNVVV/Hkk0/y0Ucfdev7Nx2Zl4oMHXesooIVWdmB43StluF6w/qHz0tLufq6JThd7vPWMj/+xZdU5OUFjuOuno/J4cRos0mg6ABd1/F7fFQcLyVnzVaKd+xr0cYW7GT4ZWOJG5WKam4IalKesv/pzM6uuq5z5MgRcnJy2Lt3L6WlLf8i0xk2m61LhQiEEGIgk1Dfzfbs2RMYWRo5cmSb7RqvlZSUUFpaSmho98z3XbduHQBms5m0tLRueebF4OXNW/A0+SXoOq0MgFq/n6NhUdyYPBxbR0bply4LHJtcLmIXXI2iqjJK3wF+r4+asipyP9/Oga+y8Pua/1JqsppJnTaSlMkZmGwWFEWR8pT9UEd3dtV1nYMHD5KTk0Nubm67i0cVRSEuLo5hw4YRHR1NVlaWbAIlhBDnkFDfzY4cORJ4HRsb22a7pteOHDnSLaG+oKCA//u//wNg4cKF3bZwq7FiQ3vKy8sJDg7ulvfrbQWnTvFpbm7geLxWTTwNVVVWnzrF9bc/gMMZdN6R9qOfrqPqTLUjgLhrr8Fos2F0yEZT7dH8fuqrazmwMYe9677GU1PX7LpBNZAwfjhpl47BFuRAMSgYDIaGMG+Sj7D+oiMLWzVNo7CwkJycHPLy8qisrGzzeQaDgYSEBNLS0khNTcVmswUq1aSkpHDFFVdInXghhGhCvhG7WdMvKXs7u4Y2vdbeF1tH1dbWcsstt1BTU0NYWBh/+MMfLviZg1Wd18vn+/azuaiIqvo6iktPo51ZjGdA5xqtYev4Uq8XPSmduOhErJb2R9o1j4eCJnXpzSEhxF41D4PJiCrTAFqlaRre2noO7j5AzsdbqDpV3qJN9Igk0meOIygiBEU1oBgUTBYzRnP7G3+J3nO+MO/3+8nPzw8E+Zom1aXOZTQaSUxMJC0tjZSUFCwWS5ubQLVWJ17CvRDiYiahfhDw+XwsXryYbdu2YTKZeOWVV9r9K0FndaSmckdG8/uDrwoKeHTNp5TX1bV6fbhWyxB8AHx46hS33/gdnOepSQ9wePXH1JzZCAwg4frrMJjNGNv5xe5ipes6vnovx/cfYvdHmygtPtaiTWhCJCNmjSc8MQpFVVFQMFpMGC0mWZvQT3RkZP7DDz+koKCAujb+/wZgMplITk4mLS2N5ORkTCZTp8pOyiZQQgjRQEJ9N2ushQy0OyLV9FrTezrL7/dz++23884772A0GnnllVeYO3dul583mH1VUMDvVqwMjMq3Zq9iY7diI7imlKhRU4iIiMFsan9U2F9fT8FrrwWOLRERRM2+AtVswnCeewe78pJSCrbkUF1WicPtImHsMPx+P9kfbeFITkGL9s6wYIbPHEfMiERUkwkFBdVsxGQxSzWbfqIz9ePbqsBlsVhITU0lLS2NhIQETCYTqqoG/rMrv7g1DfcWi6XT9wshxEAnob6bxcTEBF4fPnyY0aNHt9rucJNR3ab3dEZjoH/99ddRVZWlS5dy8803d+lZg12d18ujaz5tN9AD6IrCMkMoSeVF/Nvl83Haned99sEPPqTu2PHAcdJNN2AwGlEv8p1jC7bsYeOrHzfb2TXn020NL87538HisDH00lEkjU/HZG2YrmQ0GTFazeetOCR6x4VuBmW32wNBPi4urtlofHfWj5dNoIQQFysJ9d1sxIgRGAwGNE0jKyurzbKWWVkNmxNFRUV1aZGs3+/ntttuaxboFy5ceEF9H4w0nxfdU8+6vH1tTrk5V5Wi4h55CUHO4POW4/PV1lL4+vLAsS0mhiGXXYZqtWC4wG3nB7LyktIWgR5oEeZVk5HkSSMYOn0UFoftTHlK9Ux5yov3v7/+5ELCvMPhIC0tjWHDhhETExMYjW8M8kIIIbqPhPpuZrfbmT59OuvXr2fVqlX89Kc/bdFG13VWr14N0KWpMq0F+kWLFl1w3wcjf201Rc8/zGeEgKHj89urT5dh7cDAYfHb7+JpUlM76dabMKgGjLb2y18Odvmbs1sG+nPEjx7K8JnjcIQENVS0Uc9UtOlAXXPRe3w+H+Xl5V3aBOr222/H5XI1G5EXQgjRM+TbswcsWbKE9evXs3btWjZt2sSUKVOaXV++fDn5+fkA3HnnnZ16tt/vZ/HixbzxxhsYjUYZoT8Pk8uNdfgYqnMPdeq+GlsQluD2/4Liraqi6F9vBo4diYmET5mKarWiXMThxefxcrLwaLttIlJjGX/DZSiGxoo2Foxm+TjqCZ3ZBKpRRUUFeXl55ObmUlhYiM/n69J7N+7oKoQQoufJZNUesGTJEkaNGoWu69x0002sWbMGaCjht3z5cu655x6gYcfZ2bNnN7v3oYceQlEUFEWhsEnNc2gI9HfccUcg0L/yyisS6DvANvoSbHRu2kBwWMR52xQufxNvRUXgOGnRrRgMCupFOkrv9/k5UXCEz599nxP5R9pt644Ox6CqmK0WrE67BPoeUF5ezocffsjf/vY36uvr222r6zqHDh1izZo1/N///R9//etf+fDDD9m/f3+rgb6j899lPYQQQvQe+SbtAUajkffee49Zs2ZRWFjInDlzsNvtaJoWKO02btw4li1bdp4nNbdhwwZeffVVoOFL9YEHHuCBBx5os/1jjz0moR9QnUEYq05CUMdHDMcnJrV73VNezsF33gkcu4YNI3TsWFS7HeUiCzKaplF1spzsjzdTuHUv+nkWIyuqgZTJGVhddilP2QM6Oge+vr6eAwcOkJuby/79+9ut1gUNo+4pKSmkpKSQkJCAx+Nhy5Yt7Ny5U+rDCyFEPyChvockJSWxa9cu/vKXv/DWW29RUFCAyWQiMzOTb37zmzzwwAOYO7kpUdM5rV6vl2PHWtb3bqq2trZLfR+M9hzaj2NEHNVKB6bF+DxckpzYbpOC117HV302BCV/cyEGo4pqbX+TqsFE13Xqq2rYu24HeV/swFfvbXbdYFTR/FqzxbGKamDKwjmEJUT2dncHvY6E+dLSUnJzc8nLy6O4uPi88+SjoqICQT4iIqLZIleDwcC1117L5ZdfLps/CSFEP6Do5xtWE6IDGjef6shGVb2trLKcG3+0mMsTh7MxOAW9vdFhXcdbuI03H3oUtyu41Sb1p06x/s670M5MaXBnZjL617/C6HBgtF0cod5b5yF/czY5n2yltqK62TXFoJAwdhjDLx+P3+ujeMc+6iqrcYYFkzIlk+DIzld7Em3rSJifMGECBQUFlDZZ1N0ak8lEUlISKSkpJCUl4XQ6A0HeYDC0+5eVioqKFuH+Jz/5icypb6I/f04KIQY+GakXF41dh/PJcEWRrbYeMpy6H0/xLjwVx1u93ih/2auBQA+QtGghiqqiWgf/hjd+n5/D2fnsXrWR8qOnWlyPHBbPiDkTCY4MDZSnjEiOlvKUPaAzpSa3bdvW5rXg4ODAaHxcXBwWi6XDu7k2JTu7CiFE35JQLy4ap/0+vMrZKU+huo9w3YcDPxl6HdUnD/JGWftVW2qPHePQylVnnzFuHEHDhmK02wb1/HBN0ygtKmHnyq84lnewxfXgqDAyr5xEREqslKfsYRe6CZSiKMTGxgaCfEhISCDId0fJSdnZVQgh+oZ844qLhhI0BI/BFDi+XTtFmt4w4u7VNH51sv0ReoADLy9F956ZO64oDRVvjCrqIA0vuq5TdbKc3as3Urgtt8XmUbZgB+kzxxM/ZhgG1YDBYMBoMUs1mx5wIWHeYrEEQnxiYiIOhwOz2dytO7meS3Z2FUKI3iXfvOKioYbEBV6H6T6G6men0Hxx+jRl56nFXXXoEEc/XhM4jpgyGWdiIkZ7xze1GkjqqmrZs3Yr+9bvwudpvgjWaDEx7JLRpE4bidFiQlEUTBYzqrlzUzZEx/n9fioqKrq0CdSSJUsICQnBbDZLmUkhhBikJNSLi4PRghI0JHA4VasKbNLg1TRWnjxx3kfkv/gyeuMIqcFA0sJbMZhMGDpZxai/83q85G/MJvuTzdRVNC9zqBgMJI5PY8TMcVhcDhQUjBZTINiLtnVlE6i6ujr279/Pnj172L9/Px6Pp0vvHRQUhPUiqswkhBAXIwn14qJgCIkNhE5F15min63Y0pFR+sqCAkrWfRY4jpxxKbboaIyOwTNKr2kah7Py2bniSypKWlZJiRqeQOacibiGhJ4J80aMZjOKQcJ8e5pOm3nwwQfPG+orKyvZu3cve/fupbCwsN2ReYPBgK7r590bQAghxOAnoV4Merquo4aenXozXK8jFD9+XUfT9Q6N0u9//sXAfHLFaCTxlptRLWYMg2AhqK7rnCoqYeeHX3JsX8tFsO7ocDLnTiYiJQYAo8mI0SrTOM6no3PgdV3n5MmT7Nmzh71793L0aPuLtR0OB6mpqQwdOpS4uDi8Xi9btmzp8sJZIYQQg8PATyRCnMfBiioUqzNwPFWvpl7TOGyyMixlOM/d858t7glyuAKvy3LzOPHlV4HjqFkzsUWED4q59JWnytm98qs2FsE6yZg9kbjRqWfKUxoxWc0YVAnz7elImNd1nUOHDrFnzx5yc3PPWz8+NDSUoUOHkpqaSlRUFBaLBbPZHPjr04IFC5gxY4ZsAiWEEBcxCfVi0Pto797Aa5uuMUavYWN5GRO/sYTo1BFY29hkqtGB554PvDaYTSTedCMGixVlANVeLy8ppWBLDtVllTjcLuJGpXJw1wHyvtiB39N86pHJambYjDGkTMnEaDJiUNUz5SkHzs/bFzoS5g8cOEBBQQH79u2jurq61TaNoqOjA0E+NDQUi8WCydT22oXW6sRLuBdCiIuHhHoxqNV6PHxx4EDgeJJejQk46nATkzwcqzus3ftLd2dxatvZTXRi5s3FEuLGaLf1VJe7XcGWPWx89WP0JnOzc9ZsbdFOUQ0kT0xn+OXjsTisGAxnas2b5GOiPZ0pNfn222+3eU1VVeLj4xk6dCgpKSkEBQVhNptlEyghhBAdIt/WYlD7bP9+6rxnR6KnaVUU1tYwbupcnM7z19He/+zZUXrVZiP+G99AtdlQBsh88vKS0haBvjXRIxLJvHISzjA3iqGhPKXRbGr3novdhW4CBWA2m0lJSWHo0KEkJSVhs9kwmUydDvKtkU2ghBDi4iKhXgxqq3P2BF7H6h7i8PJWbT3fyhiP2dR+KcqTW7dRlpV19v6rr8IcHIRqG0ij9DntBnqr08akW2cTlhglteY76ELDvNPpbLbQtXE31+4I8q2RTaCEEOLiIKFeDFqHy8rYU1ISOJ6qVVPr9xOWPg5nkLvdAKXrOvubzKU3Op3ELViAarMPmMBbX13HwV37220TnhxDeGJ0Q615s0nKU3aAoihd/nfgxhtvJDExEZPJhMlk6tEdXYUQQlxcJNSLQWtVdk7gtarrTNKr2VRezszrZ2K1tL8Rz/Evv6Iib1/gOP4b12ByOVGt/X8ag6Zp7PtiF7tXb8RTXdduW0doEFaXXcJ8B+m6zunTp/H7/ZhMpk6P1CckJOByuSTICyGE6HYS6sWg5Nc0PsnNDRyP1mtxolERHk1EeBSqoe1KLrqmceD5FwPHpuBgYubNw2jv/6P0R3OL+fqdzyg/euq8bQ2qgaGXjJJA3wEnTpxg586dZGVlUV5e3uXn9NQUGyGEEEJCvRiUthYXc7qmJnA8Va8ir7qaybPn4XA427kTStZ9RlVhYeA44YbrMTnsqP14sWHlyXK+fuczDmflt7jmDA+murQCXTtbh96gGpiy6EqCI0N7s5v9Qnl5OQ6Ho0M7u+7evZtdu3Zx7NixNts5nU5GjBhBQkIC+/fvJysrS0pJCiGE6HUS6sWg1HSBbLDuI12v4z1NZ0nqCEzGtqu6aH4/B158KXBsCQsjevYV/XajKW+9h6xVm8hdvwPN1zxI2kNcjJw3hej0RGpOV3Jo935qyqtxuF0kT8646AJ90wWuDz74YKuhvr6+nj179rBz506KiorQz9mQq5HFYiEtLY0RI0YQGxsbmCOfmZnJFVdcIXXihRBC9DoJ9WLQKa+tZVOTkfYpejU1Ph/xo6fidLnbvffIRx9Tc/hI4Djx5psw2u0YzO1XyultuqaTvyWbnR98SV1lTbNrRrOJ4ZePJWXqSIxmIyaLGYfbRURyTB/1tm+dr1qN3+9n//797Ny5k3379uHz+Vp5SkMd+eTkZDIyMkhKSsJqtbZatUY2gRJCCNEXJNSLQefT3Fz8Tco4TtWq2VRZyYIJl2JrZ4Gs5vWS//KywLEtKorIy2b0u42mTuQfYetb6zh96HiLa4nj0hgxZyI2pwOj9UxFm4t0Dnd7YV7XdYqLi9m1axfZ2dnU1bW9oDg+Pp4RI0YwdOhQHA5Hh+vIyyZQQgghepOEejHorN5zdupNql7HEHz4Y1Nwu8PaDWKHPlxJ3fGzQTnx1psx2qwYTP1jE6aaskq+fnc9xdvzWlwLjY9k9IJphERHoJ4Znb9YF8B2pI78008/TWVlZZvPiIiIID09nfT0dIKDgwNB3tCFTcdkEyghhBC9QUK9GFT2nzhB4anSwPFUrZrsqkouueIm7DZHm/f56+vJf+XVwLE9Po6IqVNRHW3f01t8Hh85n25hz5pt+L3Np4bYgh2MnDeFmIxkTGYTRqu5S8FzMOjMplCtBXqXy0V6ejojRowgPDw8sClUd/33KZtACSGE6EkS6sWgsrJJbXqzrjFer+Fjk41L45JQ1bbLWBa/8x6e0rO/DCQtvBWj3YahnXt6mq7rFH2dx47311NTVtXsmmoyMuzS0QybPhqzzYLJau7TvvalC9nh9dwFrxaLBZPJdNH+YiSEEGLgklAvBg2Pz8e6fWenpkzQa6jxehg6fgZOZ3Cb9/lqaih8/Y3AsSs1hbAJEzDa+m4ufenB42x9cy0nC4+2uBY3eiiZV07C4XZhsppRTRfn/40vJMwnJyczatQokpKSsNlsgd1dhRBCiIHq4kwDYlDakJ9Pdb0ncDxVq2JrTQ03jJyIxXx2LnNZdjbuzMzAceHyN/FWVASOkxYuxGS3ofRByKutrGbn+xvI35ID51RTDImNYNTV0wiLj8RkNWM094+5/n3F7/dTXl6O1mRRdEctWLAAt9stQV4IIcSgIaFeDBpNa9MP0b0k6fUcTsnAFRwSOL//xZfJf3kpad+7h6RbbsZbUUHBa68FrgePSMc9aiRqL4/S+30+9q7bTvbHm/HVe5tds7rsZF45ibhRQzHbLYOmok1HN4Fqqqqqin379pGbm0t+fj5er/f8N7XCarVKoBdCCDGoSKgXg8KJykp2HjoUOJ6qVbO7qpLp11yBzdqwcVRjoAfIe+qZhvs2bkZvsvjUGhmJyelA6aE51eUlpRRsyaG6rBKH20XSpBFUnSjj63c+p+pUebO2BqPK0EtGkXbpGKwu+6CpaNORTaAa6brO8ePHyc3NJS8vj8OHD7f7bEVR2twwSgghhBjMJNSLQeGjPXsDs1UUXWeyXs1GVwhzIqIxGAyUZWcHAn2jxmDf1LF1n5Fw/XWEjMxsce1CFWzZw8ZXP0ZvMl0kZ83WVtvGZCaTeeVkgiJCziyCHfgLNzs6B97v91NYWBgI8uXl5W22BXA4HKSkpJCamkp8fDw+n48tW7Z0aa69EEIIMVBJqBcDnqbrfNSkNn2GXofXU8vI6fMDC2TdmZmkfe+eVoN8U0PvvqtHAn15SWmLQN+a4KgwRs2fSkRyDGa7FdU48KeIdCTM19TUBKbVHDhwAI/H02q7RkOGDAkE+SFDhrSoWrNgwQJmzJghO7oKIYS4aEioFwPe7sNHONak7vg0vYqdHi83DhvZbGpH0i03A62P0AOk3HEbKYsX9UgfC7bktBvoVZPKqPmXkDhuGFanfVBUtOlImN+0aRMFBQUcPny43WkzqqqSkJBASkoKKSkpBAUFBerIt7W+oLUdXSXcCyGEGKwGfnIQF71VOWdr0zt1P+n+ananj8MV5O7Ucww9uNvnufPlzxU5LIFh00dhsph7rA+9pTOlJtevX9/mNbvdTnJyMqmpqSQmJmK1WjGbzaiq2qmFwq2FeyGEEGKwkVAvBrRqj4cNBw4Ejifp1WRXVzNt4mVYLc0r2BQu/1e702/2//M5DKoaGNHvLicKjnB0b1G7bYKjwwZ8oL+QuvGNwsPDA9NqoqKiAqPx3VGppmm4t/TgL3BCCCFEX5BQLwa0z/L24WkSIKdq1eSGRRMWPqTZaG5ZdvZ559NDw9Qcd8aIZnXsu0rz+9m9ahPZn2yBdqaWGFQDKZMzLvj9+sqFhHlFUZpNq3G73ZjNZoxGY4/t6hoUFNQjzxVCCCH6koR6MaCtbjL1JkGvR6mrZMJl87Hbnc3auTMzSb5tMQXLXml2PmbeXI6s/ihwnHLH7d0S6MuPlfLly6s4feh4u+0MqoEpi64kODL0gt+zL9XU1HRpE6i77rqLsLCwLk2rEUIIIcRZEurFgFVcWkru8bOheapWzV4M3JQ4FNXQcrrGuXEx/rpvkHL7bTgSE9n39DOk3HE7Q5fccUF90nWdvC92suO9L/A3qX+vGAxkzJ5AZFo8R/cUUVNehcPtInlyRp8H+q5sAuXz+SgoKGDv3r3k5eVRVVXVpfcODQ3Fbrd36V4hhBBCnCWhXgxYTXeQNeo6o/1VHB49BacrpEXb8tw88l89u3OsPT6OxJtvwhTkIvnWmwnJvPApNzXlVWx85SNKcoubnXdFuJlw0yzCEyIx261EDUu4oPfpLp3ZBAqgtraWvLw89u7dS35+/nnLTgohhBCi90ioFwOSz+/nk9y9geMxeg151VXMHDMNi7n5glO/x8PuP/4JzkwPUVSV9Pvuw+wOxnBmAeaFBvrinfvY/PoneGrqm51PnTaSjNkTsbtd/abmfGfmwJ8+fZq9e/eSm5tLcXFxu2UnjUYjSUlJpKamkpKSgqZpbN26lR07dkgpSSGEEKKHSagXA9KW4mLKa+sCx9P0Kk7FJuMOCWvRdv9zL1Bz8FDgOOHGGwgalorRZmvRtrO8dfVs+dc6CrfuaXbeGuRgwg2XETk0HovDhmLo+7niHQnzuq5z5MgR9uzZQ15eHidOnGj3mXa7ndTUVFJTU0lISMBqtWIymQLz46+55houu+wyqRMvhBBC9DAJ9WJAWpV9doFsiO7DWlPG5Cuvx2ZzNGt3encWRW++FTh2pqSQcP11mFyuC+7D8QOH+XLpKmpOVzY7HzcqldELLsEZGoTRbLrg97lQHQnzBw4coKCggH379lFdXd3u88LCwgJBPioqKlCtpq2FrrIJlBBCCNHzJNSLAed0TQ1bi87WfZ+qV1NktjMxOrFZqPTV1rL7T38OlJNUTEbS7/8+5uAglAuoe+73+di14iv2rN0GTWajGC1mxl47nbhRqVhd9h4rydhRnZlm8/bbb7d5TVEUYmNjA0G+adnJztSPl02ghBBCiJ4joV4MOGv25uJvMrd7rLcC34RLW+wgm/f0M9SVlASOkxctxJmUhGq1dvm9y46e4suXVlB29FSz8+HJ0Yy/4XKCh4RgtJj7tDRjd2wCZTKZAvPjk5OTcTgcmEymbqkfL5tACSGEEN1PQr0YUHRdZ3VOduA4TavjYF01c0eMazZqfGrbNg69/2HgOCh9OLHz52NyNa9f3+H31XT2fvY1Oz/8Es13NigbVAMZcyaROnUkVpe9TxfDXmiYdzgcgdH4+Ph4LBZLIMj3xC8psgmUEEII0X0k1IsBJffYMQ6WlQeOp+lVKCkjCAo+W+vdW1VF1p8fCRwbLBaG33svZncwShdGmWvKKvly6WqO7z/U7HxQZCgTb5pJSOwQzDZLny+GVRSly+H7xhtvJDExMRDieyrICyGEEKJnSKgXA8qqJrXprbqGq+YUGZNuwWo9W8lm7xNPUn/y7PSYlNtvw5kYj3pOqcuOKNy2ly3LP8Vb17wm+7Dpo0m/YgI2l71fLIatrKwkJyeHo0ePdmmUPiEhAZfLJUFeCCGEGKAk1IsBo87r5bPc3MDxBL2aU84QwodEB84d3/AlRz/+JHDsHj2K6DmzMTo7N+3GU1PH5uWfUrw9r9l5W7CDCTfOZEhKLGa7FYPafYthO7uza1VVFdnZ2WRnZ3Pw4MELem8ZmRdCCCEGNgn1YsDYkJ9PbZNR6LHeCsJnXInTGQyAp7yc7L8+Griu2u0M/953sbiDOxVYj+YWs/GV1dSWNy/tGD9mKKOvvgR7sKNbF8N2ZmfX6upqcnJyyM7ObnczKEVRiIuLIy0tjejoaLKysti9e7eUkhRCCCEGKQn1YsBYuXt34HW07qHcW8u0pHQMBgO6rpPz6ON4m8y3H/qtJdhjYzGYOjY9xu/1sf39L8j7fEez8yabhbHXXkpcZgpmhwW1gyPp59PRha01NTWBIF9UVNTurq6xsbEMHz6cYcOG4XQ6MZlMmEwmUlNTmTVrltSJF0IIIQYpCfViQCipqCCr5FjgeKpWjSNtDEEhDQtkS9au4/j6LwLXwyZNZMiMSzE67K0+r7yklIItOVSXVeJwuwhNjGT3iq8oLylt1m5Iaizjrr8MZ2hwty2G7UiYr62tZc+ePWRlZVFYWNhukI+JiQkEeZfLFQjy55aelE2ghBBCiMFLQr0YED7KObuDrEHXCa05xaSJizCbLNSdPMWex/8euG50uRj27W9jCQ1pdYpMwZY9bHz1Y3RNa/P9DEaVkXMnkzw5A4vd2i2LYTsS5rOysti3bx8FBQVo7fQvOjo6EOSDgoLaDPKtkU2ghBBCiMFHQr3o9/ya1mzqzUi9Fk9oBCFhkei6Tvb/+yu+qqrA9WHfvht7TBSGVnY7LS8pPW+gD44OY+JNswiOCsVsu/DFsJ2pH79q1ao2r0VGRjJ8+HDS0tIIDg7uVJBvjWwCJYQQQgweEupFv7fz0GFO158tKTnaW87Imdditzs5vGo1pzZvCVyLmH4JEVOnYLS3Pu2mYEtOu4E+JG4IM+5agMVhveDFsN2xs+uQIUMCQd7tdl9wkG+NbAIlhBBCDHwS6kW/t2LnjsDrIN0PuoeEuBTqjh0j94knA9fMbjdD7/oWlhB3m8+qLq1s970coS5swY4LWgx7oWE+IiIiMLUmJCQEs9nc7UFeCCGEEIOLhHrRr1XW1bGxqDhwPEmrInzkJJyuYHb8/Ff46+oC19K+dw+2yEiUVqbdANRWVHM8/3C77+cKD7ng6jYXsrProkWLiImJkSAvhBBCiE6RUC/6tXV5ufiaHA+pO83oUZM48sEKTu/cFTgfdcUswiaMx2iztvqcY/sOsuHFldRV1bT5XgbVQMqUjAvus6IouN1u3G43p06dOv8NTcTExOByuS64D0IIIYS4uEioF/3ae1u3Bl4n6/VYIqOw1nrJeebZwHlLRAQpd9yO2e1ucb+u6eSs2cLOFV9BO2UhDaqBKYuuJDgytEv99Hq97Nmzh507d1JQUNBuCcr2yMi8EEIIIbpCQr3ot/JPnuRgzdnpNaO85YyZ9A32Pfp3NM/ZhbPD7/0etiERKOcEYk9NHV8uXc2RnIJm52Mykhh26RhKcoupq6zBEeIieXJGINCXl5fjcDja3dkVQNd1CgsL2bFjB3v27MHr9bbazmg0MnToUJKSkjh69ChZWVlSH14IIYQQ3UpCvei3Pth6tqqNSddwqn7YvIvyvXsD52PnX0XI6FGo55RkLD14nPXPv99sYaxiUMicO4XUqZlY7FZiM5Kb3dN0geuDDz7YZqg/ceIEO3fuZNeuXVRWtr3wNj4+noyMDIYNG4bdbsdkMmE0Grniiitk8ychhBBCdCsJ9aJf8vr9rD1wAGhYcDpWryE+djiH/vlqoI0tOpqkRQsxu4MD53RdZ/+Xu9n29mdovrOB2eqyM+nW2UQkRWO2N68935FqNdXV1ezevZudO3dSUlLSZr9DQ0PJyMhgxIgRBAcHYzabMRqNzRbOys6uQgghhOhuEupFv/TV/v3U6meDcExdGeqKfXgbg7qiMPy+e7FFhAcCs6/ey+Y3PqFwW26zZ0WkxDDx5lk43C5MNkug/fnCvNfrJTc3l507d3LgwIE258nbbDbS09PJyMhgyJAhWK1WTCbTeSvgyM6uQgghhOguEupFv/TWV18EXofrXpKqvNQVHwyci//GtbgzMjCYzQBUHCtl/fMfUF5S2uw5w2eOI/3ycVgcdozmhn/dOzIyv2rVKvLy8vA0mbvflKqqDB06lBEjRpCYmIjNZutyCUrZ2VUIIYQQF0pCveh3TlVVk1tZC2dGukd7K1A3ZgeuOxISSLz5JkxBDaUfi77OZdNrn+DznF2oarZZmHDTTKKGJ2Cx2zCohk5tCpWVldXq+bi4OEaMGEFaWhoOhwOz2YzaRl38zpKdXYUQQgjRVRLqRb/zzsYv0M8EekXXySw+BJrWcKyqDL//+1jDw9D8Gtvf/Zy89Tub3R8SG8GkW2cTNCQEk9VMRUXFBe3wGhISQkZGBunp6bjdbqxWK6qqdnmDKSGEEEKI7iahXvQruq6zJjcPaJjGMlyvw5J7CO3M9cSbbyI4bRi1VXV88cKHnCpqvmg1ZUomI+dOxupyUF1bzcefftKlMG+xWALz5KOiorDZbC0WvAohhBBC9BcS6kW/srO4kFL97Lz0sSePoXkbArkrNYX4b1zLiUOn+PLlVXia1LBXzUbGX3cZcSNTsbhsGAwGlDqlyyH8zjvvJCwsrMvz5IUQQgghepOEetGvLF+3JvDarvuJ33MAP2AwmUi7917ytu4j+5Mt0KQQjSvCzeSFcwiJCW9W3cbn82Gz2XA4HFRUVHSqH8HBwbJoVQghhBADhoR60W/UejzsqqgFpWFkfFxdBf7T1QDE3XgTOzbkcWz/4Wb3xI0eythrp+Nwu1BNRmpra8nOzmbnzp0cOnSo138GIYQQQoi+IKG+B1VWVvLII4/w5ptvUlBQgKqqpKWlsWjRIh544AHMZ8oxdsWxY8d4+OGH+eCDDyguLsZms5GZmcmSJUv49re/PSDnfr/z+ad4lbNTXTILiwCwp6SSU+ShrupsoDeoBkZffQmJE4ZjdljZd2A/O3bsYP/+/W3On7dYLAwfPpykpCSKiorIysqSTZ+EEEIIMSgoels76ogLUlRUxMyZMyksLATAbrfj9/upr68HYNy4caxZs4aQkJBOP3vbtm3MmzePU6dOAeB0Oqmrq8Pn8wEwd+5c3nvvvV6dPuJ2uwEoKytr9brm8+Kvq6WypqrNZ/zsjTc4hAmAWK2exR9/io5KadIUfKo90M7udjLp1tl4zBo5uXvJysqirq6u1WcaDAaSk5PJyMggOTkZu92O2WxGUZRAVZzWdnT9yU9+gsPh6MR/A0II0b7zfU4KIcSFkFDfA/x+P+PGjWP37t1ER0fz0ksvMWfOHDRNY/ny5dxzzz1UVlYyf/58VqxY0alnl5eXk56eTklJCenp6bz88stMnDgRj8fDM888w4MPPojX6+X73/8+//jHP3roJ2zpfF9W3soyip5/GLSz4dmDwjbFTo5i4zQqhYazv4Tc7C9lpl6FpunsPByJ199QCz4sJRolNZi9B/I4ffp0m/2Jjo5mxIgRDB8+HKfTidVqbXPBa2vhXkK9EKK7SagXQvQkCfU94Nlnn+U73/kOAF9++SXTpk1rdv3VV19l8eLFAHzyySfMnj27w8/+9a9/ze9//3tsNhvZ2dkkJyc3u/6HP/yBX/7yl6iqSk5ODmlpaRf403RMR76sDq1+nbo9XwOwS7HxiiGUKqWVjZt0nTu1U0zWazhcbuHw6VAAPEPMFHlOQBszi4KCghgxYgQZGRmEhoZis9k6tTFU03D/4IMPSqgXQnQrCfVCiJ4kob4HXHbZZaxfv55Zs2bx6aeftriu6zqpqakUFBRw55138uKLL3b42YmJiRQXF3PXXXfx3HPPtbheVVVFdHQ0VVVV/OY3v+G3v/3tBf0sHdWRL6tTRw9y/NXH2aM6eMYQHthgqjWKrvNt33FqD9rQdQsljhpqTS3nv1ssFtLS0hgxYgSxsbHYbDZMJtMF/SwVFRXY7XaMRllyIoToPhLqhRA9SQpwd7Oamho2bNgAwPz581ttoygKV111FQAfffRRh5+dm5tLcXFxu892Op3MmDGj08/uDaoziK2nynjFENpuoAfQFYWXDaGUKjrFQVXNAr3BYCAlJYVrrrmG733ve1x99dWkp6cTFBR0wYEeGkb8JdALIYQQYiCR5NLN9uzZg6Y17H86cuTINts1XispKaG0tJTQ0NDzPjsrK6vF/W09e+XKleTk5HS0272ioqKC5ZoJT2tTblpRr5rICdWJ8TX8MSkyMpKMjAyGDx+Oy+Vqd568EEIIIcTFREJ9Nzty5EjgdWxsbJvtml47cuRIh0J9Z59dUVFBVVUVTqfzvM9uT+OfjNtTXl7eZltd1/H7/fh8PvwKgTr0HaHoOmZVxWAwSIAXQgxo5eXlA7LcsBBiYJCU1M0qKysDr+12e5vtml5rek9fPbs7tPVldSFfYorBgNFolEAvOq28vDzwy6YQ3eVC/r1SFEU+y4QQPUZG6sV59fSiLlk8JnqC/HsleoL8eyWE6K9kyKCbuVyuwOuampo22zW91vSevnq2EEIIIYQYuCTUd7OYmJjA68OHD7fZrum1pvd057ODgoIueD69EEIIIYTo/yTUd7MRI0YE5kw2rVZzrsZrUVFRHVokC80r3nTk2RkZGR16rhBCCCGEGNgk1Hczu93O9OnTAVi1alWrbXRdZ/Xq1QDMnTu3w88ePnw4CQkJ7T67urqa9evXd/rZQgghhBBi4JJQ3wOWLFkCwNq1a9m0aVOL68uXLyc/Px+AO++8s1PPbmz/2muvUVhY2OL6E088QVVVFaqqctttt3Wy50IIIYQQYiCSUN8DlixZwqhRo9B1nZtuuok1a9YAoGkay5cv55577gEadoWdPXt2s3sfeughFEVBUZRWQ/tPfvIToqKiqKmpYcGCBWzbtg0Aj8fDk08+ya9//WsAvvvd75KWltaDP6UQQgghhOgvpKRlDzAajbz33nvMmjWLwsJC5syZg91uR9M06urqABg3bhzLli3r9LODg4P54IMPmDdvHjk5OUycOBGXy0VdXR1erxdomHbz17/+tVt/JiGEEEII0X/JSH0PSUpKYteuXfzmN79h5MiRKIqCyWRiwoQJ/OUvf2Hjxo2EhIR06dkTJkwgOzubBx98kGHDhuH1enE4HFx66aU888wzrFy5EovF0s0/kRBCCCGE6K8UXdf1vu6EEEIIIYQQoutkpF4IIYQQQogBTkK9EEIIIYQQA5yEeiGEEEIIIQY4CfVCCCGEEEIMcBLqhRBCCCGEGOAk1AshhBBCCDHASagXQgghhBBigJNQL4QQQgghxAAnoV4IIYQQQogBTkK9EEIIIYQQA5yEeiGEEEIIIQY4CfVCCCGEEEIMcBLqhRBCCCGEGOAk1AshhBBCCDHASagXQgghhBBigJNQL4QQQgghxAAnoV70mcrKSh566CFGjRqF0+kkODiYSZMm8cgjj+DxePq6e2KAeeGFF1AU5bz/fPLJJ33dVdGP1NTUsHLlSn7/+99z4403kpiYGPh35aGHHurQM44dO8aPf/xjhg8fjs1mIzQ0lBkzZvDPf/4TXdd79gcQQogzjH3dAXFxKioqYubMmRQWFgJgt9upr69n69atbN26lWXLlrFmzRpCQkL6tqNiwDEYDERERLR53WKx9GJvRH+3efNmrr766i7fv23bNubNm8epU6cAcDqdVFZW8sUXX/DFF1+wfPly3nvvPfn3TgjR42SkXvQ6v9/PtddeS2FhIdHR0Xz88cdUV1dTU1PDa6+9hsvlYvv27dx222193VUxAMXHx1NSUtLmPzNmzOjrLop+JiQkhNmzZ/PTn/6UV199laioqA7dV15ezjXXXMOpU6dIT09ny5YtVFZWUl1dzd///ndMJhMfffQRDz74YA//BEIIISP1og+88MIL7N69G4A333yTadOmAQ0jrAsXLkTTNBYvXszKlStZs2YNs2fP7svuCiEGsRkzZlBaWtrs3M9//vMO3fuXv/yFkpISbDYbK1asIDk5GQCz2cz9999PRUUFv/zlL3n66af593//d9LS0rq9/0II0UhG6kWve/HFFwGYNWtWINA3tWjRosCX40svvdSrfRNCXFxUVe3yvY2fT00/s5p64IEHcDqd+P1+li1b1uX3EUKIjpBQL3pVTU0NGzZs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",
      "text/plain": [
       "<Figure size 425.806x556.291 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 425.806x556.291 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "out_df_full = out_df.copy()\n",
    "method_names = names\n",
    "for dataset_name in dataset_names:\n",
    "    sub_df = out_df[out_df[\"Dataset\"] == dataset_name]\n",
    "    # method_linestyle = dict(zip(method_names, [\"o\", \"v\", \"x\"]))\n",
    "    figsize = (1.1, 1.4)\n",
    "    fig = plt.figure(figsize=figsize, dpi=300)\n",
    "    ax = fig.gca()\n",
    "    for method in method_names:\n",
    "        sub_df_method = sub_df[sub_df[\"Method\"] == method]\n",
    "        topk = [0] + sub_df_method[\"Top k\"].values.tolist()\n",
    "        accs = [0] + sub_df_method[\"Acc_orig\"].values.tolist()\n",
    "\n",
    "        bands = [0] + sub_df_method[\"Acc sem\"].values.tolist()\n",
    "        # print(bands)\n",
    "\n",
    "        # ax.step(topk, accs, color=method_colors[method],\n",
    "        #         linewidth=0.8, where=\"pre\"\n",
    "        # )\n",
    "        marker = method_markers[method]\n",
    "        # print(marker)\n",
    "        ax.plot(\n",
    "            topk,\n",
    "            accs,\n",
    "            color=method_colors[method],\n",
    "            linewidth=0.8,\n",
    "            label=method,\n",
    "            marker=marker,\n",
    "            markersize=2,\n",
    "        )\n",
    "\n",
    "        # Plot 95% confidence fill between region\n",
    "        ax.fill_between(\n",
    "            topk,\n",
    "            np.array(accs) - np.array(bands),\n",
    "            np.array(accs) + np.array(bands),\n",
    "            color=method_colors[method],\n",
    "            alpha=0.1,\n",
    "        )\n",
    "\n",
    "    ax.set_xlabel(\"Top k\")\n",
    "    ax.set_ylabel(\"Accuracy\")\n",
    "    # ax.set_xlim([-0.1,5.2])\n",
    "    ax.set_ylim([0, 1.0])\n",
    "    ax.legend(frameon=False, facecolor=\"none\", fancybox=False, loc=(0.99, 0.5))\n",
    "    set_size(*figsize, ax)\n",
    "    fig.savefig(\n",
    "        results_folder / f\"step_plot_{dataset_name}.pdf\",\n",
    "        dpi=400,\n",
    "        bbox_inches=\"tight\",\n",
    "        transparent=True,\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Retrieval by mass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['avg_top_1', 'avg_top_10', 'avg_top_2', 'avg_top_3', 'avg_top_4', 'avg_top_5', 'avg_top_6', 'avg_top_7', 'avg_top_8', 'avg_top_9', 'avg_total_decoys', 'avg_true_dist', 'data_folder', 'dataset', 'dist_fn', 'individuals'])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f1 = yaml_files['SCARF'][0]\n",
    "f1.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['Random', '3DMolMS', 'FixedVocab', 'NEIMS (FFN)', 'NEIMS (GNN)', 'SCARF'])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "yaml_files.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_res = []\n",
    "yaml_files[\"Random\"][0][\"individuals\"][0].keys()\n",
    "all_res = []\n",
    "for dataset, yaml_files in dataset_to_res.items():\n",
    "    for method_name, out_dict in yaml_files.items():\n",
    "        # Take only the first split\n",
    "        if len(out_dict) == 0: continue\n",
    "        individuals = [ii for i in out_dict for ii in i[\"individuals\"]]\n",
    "        for i, res in enumerate(individuals):\n",
    "            all_res.append(copy.deepcopy(res))\n",
    "            all_res[-1][\"method\"] = method_name\n",
    "            all_res[-1][\"id\"] = i\n",
    "            all_res[-1][\"dataset\"] = dataset\n",
    "df = pd.DataFrame(all_res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th>dataset</th>\n",
       "      <th colspan=\"7\" halign=\"left\">nist20</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mass_bin</th>\n",
       "      <th>0 - 200</th>\n",
       "      <th>200 - 300</th>\n",
       "      <th>300 - 400</th>\n",
       "      <th>400 - 500</th>\n",
       "      <th>500 - 600</th>\n",
       "      <th>600 - 700</th>\n",
       "      <th>700 - 2000</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Method</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Random</th>\n",
       "      <td>0.024</td>\n",
       "      <td>0.021</td>\n",
       "      <td>0.027</td>\n",
       "      <td>0.025</td>\n",
       "      <td>0.031</td>\n",
       "      <td>0.048</td>\n",
       "      <td>0.101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3DMolMS</th>\n",
       "      <td>0.039</td>\n",
       "      <td>0.041</td>\n",
       "      <td>0.057</td>\n",
       "      <td>0.077</td>\n",
       "      <td>0.070</td>\n",
       "      <td>0.125</td>\n",
       "      <td>0.199</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FixedVocab</th>\n",
       "      <td>0.143</td>\n",
       "      <td>0.184</td>\n",
       "      <td>0.168</td>\n",
       "      <td>0.172</td>\n",
       "      <td>0.196</td>\n",
       "      <td>0.220</td>\n",
       "      <td>0.161</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (FFN)</th>\n",
       "      <td>0.110</td>\n",
       "      <td>0.122</td>\n",
       "      <td>0.092</td>\n",
       "      <td>0.078</td>\n",
       "      <td>0.111</td>\n",
       "      <td>0.083</td>\n",
       "      <td>0.064</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (GNN)</th>\n",
       "      <td>0.155</td>\n",
       "      <td>0.192</td>\n",
       "      <td>0.164</td>\n",
       "      <td>0.182</td>\n",
       "      <td>0.147</td>\n",
       "      <td>0.214</td>\n",
       "      <td>0.161</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCARF</th>\n",
       "      <td>0.191</td>\n",
       "      <td>0.211</td>\n",
       "      <td>0.165</td>\n",
       "      <td>0.163</td>\n",
       "      <td>0.168</td>\n",
       "      <td>0.161</td>\n",
       "      <td>0.169</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "dataset      nist20                                                    \\\n",
       "mass_bin    0 - 200 200 - 300 300 - 400 400 - 500 500 - 600 600 - 700   \n",
       "Method                                                                  \n",
       "Random        0.024     0.021     0.027     0.025     0.031     0.048   \n",
       "3DMolMS       0.039     0.041     0.057     0.077     0.070     0.125   \n",
       "FixedVocab    0.143     0.184     0.168     0.172     0.196     0.220   \n",
       "NEIMS (FFN)   0.110     0.122     0.092     0.078     0.111     0.083   \n",
       "NEIMS (GNN)   0.155     0.192     0.164     0.182     0.147     0.214   \n",
       "SCARF         0.191     0.211     0.165     0.163     0.168     0.161   \n",
       "\n",
       "dataset                 \n",
       "mass_bin    700 - 2000  \n",
       "Method                  \n",
       "Random           0.101  \n",
       "3DMolMS          0.199  \n",
       "FixedVocab       0.161  \n",
       "NEIMS (FFN)      0.064  \n",
       "NEIMS (GNN)      0.161  \n",
       "SCARF            0.169  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\begin{table}\n",
      "\\centering\n",
      "\\caption{canopus_train_public spectra prediction retrieval accuracy}\n",
      "\\label{tab:canopus_train_public_spec_retrieval}\n",
      "\\begin{tabular}{lrrrrrrr}\n",
      "\\toprule\n",
      "dataset & \\multicolumn{7}{l}{nist20} \\\\\n",
      "mass\\_bin & 0 - 200 & 200 - 300 & 300 - 400 & 400 - 500 & 500 - 600 & 600 - 700 & 700 - 2000 \\\\\n",
      "Method      &         &           &           &           &           &           &            \\\\\n",
      "\\midrule\n",
      "Random      &   0.024 &     0.021 &     0.027 &     0.025 &     0.031 &     0.048 &      0.101 \\\\\n",
      "3DMolMS     &   0.039 &     0.041 &     0.057 &     0.077 &     0.070 &     0.125 &      0.199 \\\\\n",
      "FixedVocab  &   0.143 &     0.184 &     0.168 &     0.172 &     0.196 &     0.220 &      0.161 \\\\\n",
      "NEIMS (FFN) &   0.110 &     0.122 &     0.092 &     0.078 &     0.111 &     0.083 &      0.064 \\\\\n",
      "NEIMS (GNN) &   0.155 &     0.192 &     0.164 &     0.182 &     0.147 &     0.214 &      0.161 \\\\\n",
      "SCARF       &   0.191 &     0.211 &     0.165 &     0.163 &     0.168 &     0.161 &      0.169 \\\\\n",
      "\\bottomrule\n",
      "\\end{tabular}\n",
      "\\end{table}\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/382209690.py:13: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.\n",
      "  latex = pivoted_tbl.to_latex(\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th>dataset</th>\n",
       "      <th colspan=\"7\" halign=\"left\">nist20</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mass_bin</th>\n",
       "      <th>0 - 200</th>\n",
       "      <th>200 - 300</th>\n",
       "      <th>300 - 400</th>\n",
       "      <th>400 - 500</th>\n",
       "      <th>500 - 600</th>\n",
       "      <th>600 - 700</th>\n",
       "      <th>700 - 2000</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Method</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Random</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3DMolMS</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FixedVocab</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (FFN)</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (GNN)</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCARF</th>\n",
       "      <td>1872</td>\n",
       "      <td>4074</td>\n",
       "      <td>2700</td>\n",
       "      <td>1161</td>\n",
       "      <td>387</td>\n",
       "      <td>168</td>\n",
       "      <td>267</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "dataset      nist20                                                    \\\n",
       "mass_bin    0 - 200 200 - 300 300 - 400 400 - 500 500 - 600 600 - 700   \n",
       "Method                                                                  \n",
       "Random         1872      4074      2700      1161       387       168   \n",
       "3DMolMS        1872      4074      2700      1161       387       168   \n",
       "FixedVocab     1872      4074      2700      1161       387       168   \n",
       "NEIMS (FFN)    1872      4074      2700      1161       387       168   \n",
       "NEIMS (GNN)    1872      4074      2700      1161       387       168   \n",
       "SCARF          1872      4074      2700      1161       387       168   \n",
       "\n",
       "dataset                 \n",
       "mass_bin    700 - 2000  \n",
       "Method                  \n",
       "Random             267  \n",
       "3DMolMS            267  \n",
       "FixedVocab         267  \n",
       "NEIMS (FFN)        267  \n",
       "NEIMS (GNN)        267  \n",
       "SCARF              267  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\begin{table}\n",
      "\\centering\n",
      "\\caption{canopus_train_public spectra prediction retrieval accuracy}\n",
      "\\label{tab:canopus_train_public_spec_retrieval}\n",
      "\\begin{tabular}{lrrrrrrr}\n",
      "\\toprule\n",
      "dataset & \\multicolumn{7}{l}{nist20} \\\\\n",
      "mass\\_bin & 0 - 200 & 200 - 300 & 300 - 400 & 400 - 500 & 500 - 600 & 600 - 700 & 700 - 2000 \\\\\n",
      "Method      &         &           &           &           &           &           &            \\\\\n",
      "\\midrule\n",
      "Random      &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "3DMolMS     &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "FixedVocab  &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "NEIMS (FFN) &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "NEIMS (GNN) &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "SCARF       &    1872 &      4074 &      2700 &      1161 &       387 &       168 &        267 \\\\\n",
      "\\bottomrule\n",
      "\\end{tabular}\n",
      "\\end{table}\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/382209690.py:31: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.\n",
      "  latex = pivoted_tbl.to_latex(\n"
     ]
    }
   ],
   "source": [
    "df.keys()\n",
    "mean_df = df.groupby([\"method\", \"dataset\", \"mass_bin\"])[\"top_1\"].mean()\n",
    "mean_df = mean_df.reset_index()\n",
    "mean_df = mean_df[mean_df[\"dataset\"] == \"nist20\"]\n",
    "pivoted_tbl = mean_df.pivot_table(\n",
    "    index=\"method\", values=\"top_1\", columns=[\"dataset\", \"mass_bin\"]\n",
    ")\n",
    "pivoted_tbl.index.name = \"Method\"\n",
    "pivoted_tbl = pivoted_tbl.round(3)\n",
    "pivoted_tbl = pivoted_tbl.loc[names]\n",
    "pivoted_tbl.columns.name = \"Mass bin (Da)\"\n",
    "display(pivoted_tbl)\n",
    "latex = pivoted_tbl.to_latex(\n",
    "    caption=f\"{dataset_name} spectra prediction retrieval accuracy\",\n",
    "    label=f\"tab:{dataset_name}_spec_retrieval\",\n",
    ")\n",
    "print(latex)\n",
    "\n",
    "# Second df with counts\n",
    "mean_df = df.groupby([\"method\", \"dataset\", \"mass_bin\"])[\"top_1\"].count()\n",
    "mean_df = mean_df.reset_index()\n",
    "mean_df = mean_df[mean_df[\"dataset\"] == \"nist20\"]\n",
    "pivoted_tbl = mean_df.pivot_table(\n",
    "    index=\"method\", values=\"top_1\", columns=[\"dataset\", \"mass_bin\"]\n",
    ")\n",
    "pivoted_tbl.index.name = \"Method\"\n",
    "pivoted_tbl = pivoted_tbl.round(3)\n",
    "pivoted_tbl = pivoted_tbl.loc[names]\n",
    "pivoted_tbl.columns.name = \"Mass bin (Da)\"\n",
    "display(pivoted_tbl)\n",
    "latex = pivoted_tbl.to_latex(\n",
    "    caption=f\"{dataset_name} spectra prediction retrieval accuracy\",\n",
    "    label=f\"tab:{dataset_name}_spec_retrieval\",\n",
    ")\n",
    "print(latex)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot example spectra"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Method</th>\n",
       "      <th>Top k</th>\n",
       "      <th>Acc</th>\n",
       "      <th>Acc sem</th>\n",
       "      <th>Dataset</th>\n",
       "      <th>Acc_orig</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Random</td>\n",
       "      <td>1</td>\n",
       "      <td>$0.026 \\pm 0.000$</td>\n",
       "      <td>0.000376</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.026061</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Random</td>\n",
       "      <td>2</td>\n",
       "      <td>$0.052 \\pm 0.001$</td>\n",
       "      <td>0.000753</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.052122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Random</td>\n",
       "      <td>3</td>\n",
       "      <td>$0.076 \\pm 0.001$</td>\n",
       "      <td>0.001069</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.076207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Random</td>\n",
       "      <td>4</td>\n",
       "      <td>$0.098 \\pm 0.001$</td>\n",
       "      <td>0.000617</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.098128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Random</td>\n",
       "      <td>5</td>\n",
       "      <td>$0.120 \\pm 0.000$</td>\n",
       "      <td>0.000431</td>\n",
       "      <td>nist20</td>\n",
       "      <td>0.119673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>6</td>\n",
       "      <td>$0.489 \\pm 0.003$</td>\n",
       "      <td>0.003205</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.488782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>7</td>\n",
       "      <td>$0.530 \\pm 0.003$</td>\n",
       "      <td>0.002794</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.530449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>8</td>\n",
       "      <td>$0.569 \\pm 0.001$</td>\n",
       "      <td>0.001282</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.568590</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>9</td>\n",
       "      <td>$0.600 \\pm 0.005$</td>\n",
       "      <td>0.004976</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.600321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>119</th>\n",
       "      <td>SCARF</td>\n",
       "      <td>10</td>\n",
       "      <td>$0.630 \\pm 0.008$</td>\n",
       "      <td>0.007871</td>\n",
       "      <td>canopus_train_public</td>\n",
       "      <td>0.629808</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>120 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Method  Top k                Acc   Acc sem               Dataset  \\\n",
       "0    Random      1  $0.026 \\pm 0.000$  0.000376                nist20   \n",
       "1    Random      2  $0.052 \\pm 0.001$  0.000753                nist20   \n",
       "2    Random      3  $0.076 \\pm 0.001$  0.001069                nist20   \n",
       "3    Random      4  $0.098 \\pm 0.001$  0.000617                nist20   \n",
       "4    Random      5  $0.120 \\pm 0.000$  0.000431                nist20   \n",
       "..      ...    ...                ...       ...                   ...   \n",
       "115   SCARF      6  $0.489 \\pm 0.003$  0.003205  canopus_train_public   \n",
       "116   SCARF      7  $0.530 \\pm 0.003$  0.002794  canopus_train_public   \n",
       "117   SCARF      8  $0.569 \\pm 0.001$  0.001282  canopus_train_public   \n",
       "118   SCARF      9  $0.600 \\pm 0.005$  0.004976  canopus_train_public   \n",
       "119   SCARF     10  $0.630 \\pm 0.008$  0.007871  canopus_train_public   \n",
       "\n",
       "     Acc_orig  \n",
       "0    0.026061  \n",
       "1    0.052122  \n",
       "2    0.076207  \n",
       "3    0.098128  \n",
       "4    0.119673  \n",
       "..        ...  \n",
       "115  0.488782  \n",
       "116  0.530449  \n",
       "117  0.568590  \n",
       "118  0.600321  \n",
       "119  0.629808  \n",
       "\n",
       "[120 rows x 6 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "out_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Reset index\n",
    "# out_df = out_df.reset_index()\n",
    "# out_df = out_df.rename({\"index\": \"Method\"}, axis=1)\n",
    "out_df = out_df.set_index(\"Method\").round(3)\n",
    "out_df.index.name = None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_name = \"nist20\"\n",
    "yaml_files = dataset_to_res[dataset_name]\n",
    "scarf_inds = yaml_files[\"SCARF\"][0][\"individuals\"]\n",
    "gnn_inds = yaml_files[\"NEIMS (GNN)\"][0][\"individuals\"]\n",
    "scarf_spec_to_ind = {i[\"spec_name\"]: i[\"ind_recovered\"] for i in scarf_inds}\n",
    "gnn_spec_to_ind = {i[\"spec_name\"]: i[\"ind_recovered\"] for i in gnn_inds}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['nist_1477535' 'nist_1657024' 'nist_1343917' 'nist_1309835'\n",
      " 'nist_1295117']\n",
      "['nist_1477535' 'nist_1657024' 'nist_1343917' 'nist_1309835'\n",
      " 'nist_1295117']\n"
     ]
    }
   ],
   "source": [
    "scarf_better = [\n",
    "    k for k, v in scarf_spec_to_ind.items() if v == 1 and v < gnn_spec_to_ind[k]\n",
    "]\n",
    "np.random.seed(3)\n",
    "len(scarf_better)\n",
    "ex_specs = np.random.choice(scarf_better, 5)\n",
    "ex_specs = np.random.choice(list(scarf_spec_to_ind.keys()), 5)\n",
    "print(ex_specs)\n",
    "# ex_specs = ['nist_1788697', 'nist_1208536']\n",
    "print(ex_specs)\n",
    "mols = [Chem.MolFromSmiles(spec_to_smiles[i]) for i in ex_specs]\n",
    "Draw.MolsToGridImage(\n",
    "    mols,\n",
    ")  # figsize=(20,10))\n",
    "data_folder = Path(f\"../data/spec_datasets/{dataset_name}/\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def export_ex_specs(\n",
    "    ex_specs, folder_name=\"output_examples\", add_numbers=True, figsize=(2.1, 1.4)\n",
    "):\n",
    "    spec_folder = results_folder / folder_name\n",
    "    spec_folder.mkdir(exist_ok=True)\n",
    "\n",
    "    for ex_spec in ex_specs:\n",
    "        spec_file = data_folder / f\"subformulae/no_subform/{ex_spec}.json\"\n",
    "        true_spec = json.load(open(spec_file, \"r\"))\n",
    "\n",
    "        export_spec_folder = Path(\n",
    "            f\"../results/scarf_inten_{dataset_name}/split_1_rnd1/preds_export_{dataset_name}/tree_preds_inten\"\n",
    "        )\n",
    "        pred_spec_file = export_spec_folder / f\"pred_{ex_spec}.json\"\n",
    "        pred_spec = json.load(open(pred_spec_file, \"r\"))\n",
    "        #print(pred_spec_file, spec_file)\n",
    "\n",
    "        # Make predictions\n",
    "        mz, inten = (\n",
    "            pred_spec[\"output_tbl\"][\"formula_mass_no_adduct\"],\n",
    "            pred_spec[\"output_tbl\"][\"rel_inten\"],\n",
    "        )\n",
    "        pred_forms = pred_spec[\"output_tbl\"][\"formula\"]\n",
    "        top_forms = np.argsort(inten)[::-1][:5]\n",
    "        out_map = \"\\n\".join(\n",
    "            [\"\\t\".join([str(j) for j in i]) for i in list(enumerate(pred_forms))]\n",
    "        )\n",
    "        out_info = f\"Smiles: {pred_spec['smiles']}, Formula: {pred_spec['cand_form']}\\n{out_map}\"\n",
    "        fig = plt.figure(figsize=(figsize), dpi=300)\n",
    "        ax = fig.gca()\n",
    "        inten = inten / np.max(inten)\n",
    "        for ind, (m, i, pred_form) in enumerate(zip(mz, inten, pred_forms)):\n",
    "            label_kwargs = {\"label\": \"SCARF\"} if ind == 0 else {}\n",
    "            ax.vlines(\n",
    "                x=m,\n",
    "                ymin=0,\n",
    "                ymax=i,\n",
    "                color=method_colors.get(\"SCARF\"),\n",
    "                linewidth=0.5,\n",
    "                **label_kwargs,\n",
    "            )\n",
    "            # Make form label\n",
    "            if ind in top_forms and add_numbers:\n",
    "                ax.text(x=m, y=i + 0.2, s=f\"{ind}\", fontsize=6, rotation=90)\n",
    "\n",
    "        mz, inten = (\n",
    "            true_spec[\"output_tbl\"][\"formula_mass_no_adduct\"],\n",
    "            true_spec[\"output_tbl\"][\"rel_inten\"],\n",
    "        )\n",
    "        for ind, (m, i) in enumerate(zip(mz, inten)):\n",
    "            label_kwargs = {\"label\": \"True\"} if ind == 0 else {}\n",
    "            ax.vlines(\n",
    "                x=m,\n",
    "                ymin=0,\n",
    "                ymax=-i,\n",
    "                color=\"black\",\n",
    "                linewidth=0.5,\n",
    "                **label_kwargs,\n",
    "            )\n",
    "        ax.axhline(y=0, xmin=0, xmax=1, color=\"black\", linewidth=0.1)\n",
    "        ax.set_xlabel(\"M/Z\")\n",
    "        ax.set_ylabel(\"Intensity\")\n",
    "        ax.set_title(f\"Spectra: {ex_spec}\")\n",
    "        ax.set_ylim([-1.5, 1.5])\n",
    "        ax.set_yticklabels([abs(i) for i in ax.get_yticks()])\n",
    "        ax.legend(**legend_params, loc=\"upper left\")\n",
    "        set_size(*figsize, ax)\n",
    "        fig.savefig(\n",
    "            spec_folder / f\"{ex_spec}.pdf\",\n",
    "            dpi=300,\n",
    "            bbox_inches=\"tight\",\n",
    "            transparent=True,\n",
    "        )\n",
    "        # Clf so it doesn't get displayed\n",
    "        plt.clf();\n",
    "        with open(spec_folder / f\"{ex_spec}.txt\", \"w\") as fp:\n",
    "            fp.write(out_info)\n",
    "        mol_obj = Chem.MolFromSmiles(pred_spec[\"smiles\"])\n",
    "        plot_utils.export_mol(\n",
    "            mol_obj, spec_folder / f\"{ex_spec}_mol.pdf\", width=100, height=100\n",
    "        )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/3492330062.py:65: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  ax.set_yticklabels([abs(i) for i in ax.get_yticks()])\n",
      "/tmp/ipykernel_2257142/3492330062.py:65: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  ax.set_yticklabels([abs(i) for i in ax.get_yticks()])\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "export_ex_specs(ex_specs=ex_specs);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/3492330062.py:65: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  ax.set_yticklabels([abs(i) for i in ax.get_yticks()])\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 812.903x556.291 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sorted_keys = sorted(list(scarf_spec_to_ind.keys()))\n",
    "np.random.seed(10)\n",
    "ex_specs = np.random.choice(sorted_keys, 12)\n",
    "export_ex_specs(ex_specs=ex_specs, folder_name=\"si_specs\", add_numbers=False);"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Retrieval full pubchem"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_name = \"nist20\"\n",
    "names = [\n",
    "    \"FixedVocab\",\n",
    "    \"NEIMS (FFN)\",\n",
    "    \"NEIMS (GNN)\",\n",
    "    \"SCARF\",\n",
    "]\n",
    "\n",
    "# root_dir  = Path(\"/data/DELETEME/samlg/DELETEME_2024_03_01_ms_pred_preprint_res/results/\")\n",
    "root_dir  = Path(\"../results/\")\n",
    "pubchem_inds = [50, None]\n",
    "subsetnum = 500\n",
    "res_dict = defaultdict(lambda : defaultdict(lambda : []))\n",
    "for pubchem_num in pubchem_inds:\n",
    "    for seed in [1,2,3]:\n",
    "        results_files = [\n",
    "            root_dir / f\"graff_ms_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_{subsetnum}_{pubchem_num}/rerank_eval_cos.yaml\",\n",
    "            root_dir / f\"ffn_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_{subsetnum}_{pubchem_num}/rerank_eval_cos.yaml\",\n",
    "            root_dir / f\"gnn_baseline_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_{subsetnum}_{pubchem_num}/rerank_eval_cos.yaml\",\n",
    "            root_dir / f\"scarf_inten_{dataset_name}/split_1_rnd{seed}/retrieval_{dataset_name}_split_1_{subsetnum}_{pubchem_num}/rerank_eval_cos.yaml\",\n",
    "        ]\n",
    "        for name, yaml_file in zip(names, results_files):\n",
    "            yaml_files = yaml.safe_load(open(yaml_file, \"r\"))\n",
    "            res_dict[pubchem_num][name].append(yaml_files)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "out_df = []\n",
    "keys_to_name = {f\"avg_top_{i}\": i for i in range(1, 11)}\n",
    "\n",
    "for dataset, yaml_files in res_dict.items():\n",
    "    for k, v in yaml_files.items():\n",
    "        for old_name, new_name in keys_to_name.items():\n",
    "            new_entry = {\n",
    "                \"Method\": k,\n",
    "                \"Top k\": new_name,\n",
    "                \"Acc\": np.mean([vv[old_name] for vv in v]),\n",
    "                \"Acc_sem\": sem([vv[old_name] for vv in v]),\n",
    "                \"Dataset\": dataset if dataset is not None else \"None\",\n",
    "            }\n",
    "            out_df.append(new_entry)\n",
    "out_df = pd.DataFrame(out_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th>Pubchem limit</th>\n",
       "      <th colspan=\"3\" halign=\"left\">50</th>\n",
       "      <th colspan=\"3\" halign=\"left\">None</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Top k</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>FixedVocab</th>\n",
       "      <td>$0.168 \\pm 0.003$</td>\n",
       "      <td>$0.308 \\pm 0.003$</td>\n",
       "      <td>$0.410 \\pm 0.005$</td>\n",
       "      <td>$0.145 \\pm 0.004$</td>\n",
       "      <td>$0.258 \\pm 0.004$</td>\n",
       "      <td>$0.323 \\pm 0.001$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (FFN)</th>\n",
       "      <td>$0.102 \\pm 0.002$</td>\n",
       "      <td>$0.237 \\pm 0.003$</td>\n",
       "      <td>$0.315 \\pm 0.004$</td>\n",
       "      <td>$0.087 \\pm 0.003$</td>\n",
       "      <td>$0.183 \\pm 0.008$</td>\n",
       "      <td>$0.236 \\pm 0.007$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NEIMS (GNN)</th>\n",
       "      <td>$0.169 \\pm 0.003$</td>\n",
       "      <td>$0.300 \\pm 0.004$</td>\n",
       "      <td>$0.402 \\pm 0.005$</td>\n",
       "      <td>$0.138 \\pm 0.004$</td>\n",
       "      <td>$0.239 \\pm 0.005$</td>\n",
       "      <td>$0.312 \\pm 0.008$</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SCARF</th>\n",
       "      <td>$0.204 \\pm 0.009$</td>\n",
       "      <td>$0.326 \\pm 0.005$</td>\n",
       "      <td>$0.432 \\pm 0.009$</td>\n",
       "      <td>$0.167 \\pm 0.003$</td>\n",
       "      <td>$0.258 \\pm 0.001$</td>\n",
       "      <td>$0.336 \\pm 0.003$</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Pubchem limit                 50                                        \\\n",
       "Top k                          1                  2                  3   \n",
       "FixedVocab     $0.168 \\pm 0.003$  $0.308 \\pm 0.003$  $0.410 \\pm 0.005$   \n",
       "NEIMS (FFN)    $0.102 \\pm 0.002$  $0.237 \\pm 0.003$  $0.315 \\pm 0.004$   \n",
       "NEIMS (GNN)    $0.169 \\pm 0.003$  $0.300 \\pm 0.004$  $0.402 \\pm 0.005$   \n",
       "SCARF          $0.204 \\pm 0.009$  $0.326 \\pm 0.005$  $0.432 \\pm 0.009$   \n",
       "\n",
       "Pubchem limit               None                                        \n",
       "Top k                          1                  2                  3  \n",
       "FixedVocab     $0.145 \\pm 0.004$  $0.258 \\pm 0.004$  $0.323 \\pm 0.001$  \n",
       "NEIMS (FFN)    $0.087 \\pm 0.003$  $0.183 \\pm 0.008$  $0.236 \\pm 0.007$  \n",
       "NEIMS (GNN)    $0.138 \\pm 0.004$  $0.239 \\pm 0.005$  $0.312 \\pm 0.008$  \n",
       "SCARF          $0.167 \\pm 0.003$  $0.258 \\pm 0.001$  $0.336 \\pm 0.003$  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\begin{table}\n",
      "\\centering\n",
      "\\caption{Retrieval accuracy NIST20}\n",
      "\\label{tab:retrieval_acc_all}\n",
      "\\begin{tabular}{lllllll}\n",
      "\\toprule\n",
      "Pubchem limit & \\multicolumn{3}{l}{50} & \\multicolumn{3}{l}{None} \\\\\n",
      "Top k &                  1 &                  2 &                  3 &                  1 &                  2 &                  3 \\\\\n",
      "\\midrule\n",
      "FixedVocab  &  $0.168 \\pm 0.003$ &  $0.308 \\pm 0.003$ &  $0.410 \\pm 0.005$ &  $0.145 \\pm 0.004$ &  $0.258 \\pm 0.004$ &  $0.323 \\pm 0.001$ \\\\\n",
      "NEIMS (FFN) &  $0.102 \\pm 0.002$ &  $0.237 \\pm 0.003$ &  $0.315 \\pm 0.004$ &  $0.087 \\pm 0.003$ &  $0.183 \\pm 0.008$ &  $0.236 \\pm 0.007$ \\\\\n",
      "NEIMS (GNN) &  $0.169 \\pm 0.003$ &  $0.300 \\pm 0.004$ &  $0.402 \\pm 0.005$ &  $0.138 \\pm 0.004$ &  $0.239 \\pm 0.005$ &  $0.312 \\pm 0.008$ \\\\\n",
      "SCARF       &  $0.204 \\pm 0.009$ &  $0.326 \\pm 0.005$ &  $0.432 \\pm 0.009$ &  $0.167 \\pm 0.003$ &  $0.258 \\pm 0.001$ &  $0.336 \\pm 0.003$ \\\\\n",
      "\\bottomrule\n",
      "\\end{tabular}\n",
      "\\end{table}\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_2257142/2255866352.py:36: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.\n",
      "  latex = out_df_pivot_sorted.to_latex(\n"
     ]
    }
   ],
   "source": [
    "out_df_temp = out_df.copy()\n",
    "# Subset to where \"Top k\" in [1,2,3]\n",
    "out_df_temp = out_df_temp[out_df_temp[\"Top k\"].isin([1, 2, 3])]\n",
    "\n",
    "# Create joint string with acc_sem\n",
    "out_df_temp[\"Acc\"] = [\n",
    "    rf\"${i:.3f} \\pm {j:.3f}$\"\n",
    "    for i, j in zip(out_df_temp[\"Acc\"], out_df_temp[\"Acc_sem\"])\n",
    "]\n",
    "\n",
    "out_df_pivot = out_df_temp.pivot_table(\n",
    "    index=\"Method\",\n",
    "    columns=[\"Dataset\", \"Top k\"],\n",
    "    values=\"Acc\",\n",
    "    aggfunc=\"first\"\n",
    ")  # aggfunc=lambda x: \"&\".join(x))\n",
    "\n",
    "out_df_pivot_sorted = out_df_pivot.loc[names]\n",
    "# out_df_pivot_sorted = out_df_pivot_sorted.swaplevel(0, 1, axis=1).round(3)\n",
    "\n",
    "metric_order = {\"Cosine sim.\": 1, \"Coverage\": 2, \"Valid\": 3, \"Time (s)\": 4}\n",
    "metric_order = [\"Cosine sim.\", \"Coverage\", \"Valid\", \"Time (s)\"]\n",
    "dataset_order = {\n",
    "    \"nist20\": 2,\n",
    "    \"canopus_train_public\": 1,\n",
    "}\n",
    "dataset_order = [\"canopus_train_public\", \"nist20\"]\n",
    "\n",
    "\n",
    "# Rename level 1 of column name to be \"Pubchem limit\"\n",
    "out_df_pivot_sorted.columns.names = [\"Pubchem limit\", \"Top k\"]\n",
    "\n",
    "# # Sort columns and make time last\n",
    "out_df_pivot_sorted.index.name = None\n",
    "display(out_df_pivot_sorted)\n",
    "latex = out_df_pivot_sorted.to_latex(\n",
    "    caption=\"Retrieval accuracy NIST20\", label=\"tab:retrieval_acc_all\", escape=False\n",
    ")\n",
    "print(latex)\n",
    "# Save this \n",
    "with open(results_folder / f\"tab_retrieval_acc_all.tex\", \"w\") as f:\n",
    "    f.write(latex)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ms-gen",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "0104df62c80ee1845876b5ec5b2a8b2e89ea0f28159e1f86b83bf27a253591c7"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
